<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2017-01-31"
  xmlns:csiq="http://www.canadiansolar.com/20191231"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2019-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="csiq-20191231.xsd" xlink:type="simple"/>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qpPI1Oh1oUibN5u0UaWsjA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_s7bHWbeGUUmQciZIb5al9A">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qqgz7TDEAEyfQkphhizXGw">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_xssyVKCLdUyZfs-laxRgLg">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</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_CsiSolarPowerChinaInc.Member_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_NVm05P2FNkarzAqjfzzKLg">
        <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:CsiSolarPowerChinaInc.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_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_ZtO-Oy4VYU-bwnYTyH14MQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_1n1AG2K6xk2UOzGnATGbIw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_p6_jPQLIaUutOVv0Ty5iCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember</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_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_LGxXw2tOskuUFrLfvpL8eA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember</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_RecurrentEnergyLlcMember_uCUszJzAkkedZfzB6TzLjg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</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_RecurrentEnergyGroupInc.Member_tfNffgYLOU21rCoI61i76w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.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_PtCanadianSolarIndonesiaMember_WIa2wR-R7EabxskoyytV4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:PtCanadianSolarIndonesiaMember</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_CsukEnergySystemsConstructionAndGenerationJscMember_fjg9x-UWGUG4bERD7gfdCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsukEnergySystemsConstructionAndGenerationJscMember</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_CsiWaferLuoyangCoLtdMember_1ZVHiC_9dEyNUII2fgKyjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiWaferLuoyangCoLtdMember</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_CSISolartronicsChangshuCoLtdMember_X2daspvchECaB7VCla1Psw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolartronicsChangshuCoLtdMember</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_CSISolarTechnologiesIncMember_eXrqcEc30Ei0qALz2vCLvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolarTechnologiesIncMember</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_CsiNewEnergyHoldingCo.LtdMember_f3BBwSBlQk-aYL2vlJi5jg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_SNgW881rrEizurtXQwpdcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesJiaxingCoLtdMember</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_CsiInvestmentManagementSuzhouCoLtdMember_GJt3ETH8_0CxWvTY3gZ0bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiInvestmentManagementSuzhouCoLtdMember</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_CsiGclSolarManufacturingYanchengCo.Ltd.Member_YqFvDkAPxkCVF2Vt8O2l6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiGclSolarManufacturingYanchengCo.Ltd.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_CsiCellsYanchangCoLtdMember_jGNrNqRCvUuQRZBx6-jF0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</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_CsiCellsCo.Ltd.Member_pgGVNg8lp0Sh7U7fWsyv2g">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_pfgLe_A9ukygMgFIx3pkTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember</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_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_8g6PlU6ogEWyqmSMeIbKnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember</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_ChangshuTlianCo.Ltd.Member_O1mirRnMdUOXfh8yn7m3pQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_50dtds0o1U2PfBa7Ju7KIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_CanadianSolarUkProjectsLtdMember_gaFFVSiMVU6dJx6tv-15pw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkProjectsLtdMember</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_CanadianSolarUkLtdMember_nHcLXRu22kaKL7Hpu3JEWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkLtdMember</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_CanadianSolarSunenergySuzhouCo.Ltd.Member_dJD8J6MYAEOwoZlpGzx51Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergySuzhouCo.Ltd.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_CanadianSolarSunenergyBaotouCo.Ltd.Member_8ujZS-yBMESJXzpV0Crsxw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesUkLtdMember_s7UcNNfSTk-ya7j7gKh3KQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesUkLtdMember</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_CanadianSolarSsesCanadaInc.Member_9FBBjjFkL02CrIh4E0mIGA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_ubLDcYvLCUuT3bAlHD7uNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthEastAsiaPteLtdMember</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_CanadianSolarSouthAfricaPtyLtdMember_Hq256zVRrkyBj14khGxE3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthAfricaPtyLtdMember</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_CanadianSolarSolutionsIncMember_R65hiqi-BkGyArimZFj6kQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_wqWISQGOt0aEOzTLJDmR9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</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_CanadianSolarOAndMOntarioIncMember_6CM_pzl240CSlQHbpW0PuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarOAndMOntarioIncMember</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_CanadianSolarNewEnergyHoldingCompanyLimitedMember_iZAe9dPgUEWNHzxDVQo4Ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember</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_CanadianSolarMiddleEastDmccMember_UsdpaLQhmk-podlCp2-T8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarMiddleEastDmccMember</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_CanadianSolarManufacturingVietnamCo.LtdMember_j6KXhNbxdUKQnrw1nPf8pA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_k3pfla9r_USOzRTlmL3WIg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingTaiwanCoLtdMember_VPLCaZyfrkGlrnL0ri-j4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingTaiwanCoLtdMember</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_CanadianSolarManufacturingLuoyangIncMember_IjALAkJg8kS0WYjYxymI7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingLuoyangIncMember</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_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_B--R_4fNa0yJ6CHEldgOeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.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_CanadianSolarManufacturingChangshuInc.Member_l7hJjXGwS0S7CHhnXKSXyw">
        <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>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_E7s0enECwEm_SyoeRl196w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_CanadianSolarInternationalProjectHoldingLimitedMember_AlBVqgZqXUiF6uAz17iJUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</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_CanadianSolarEnergyPrivateLimitedMember_eHSRKh6OEU6lcmKRHLWs8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyPrivateLimitedMember</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_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_MU8LW1ASJEypZcrjukEHEw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_IZbwU8qQ1k2O4q_JuvLeJg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_kYzLCiJx4U2DO0PAUArfcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingCompanyLimitedMember</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_VgVpP6IgvEeJJ8yXETQkfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <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_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionUsaLLCMember_SxMKdJGv0EqOa4AtP5Hczw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionUsaLLCMember</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_CanadianSolarConstructionAustraliaPtyLtdMember_Jub7_vciaEqQm7wdA9GrGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionAustraliaPtyLtdMember</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_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_D0bbTLwklk69tQO30lztQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</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_CanadianSolarAustraliaPtyLtdMember_IQaKtyiZxkG7qi3SJvyDIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarAustraliaPtyLtdMember</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_CanadianSolarAustralia1PtyLtdMember_Bq8reKRQzEeAJVfF0H_S2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarAustralia1PtyLtdMember</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_CanadianSolarArgentinaInvestmentHoldingLtdMember_EPf-Mmmb3EmG8Ak__bCR0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarArgentinaInvestmentHoldingLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g">
        <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_11_29_2019_To_4_28_2020_us-gaap_ShareRepurchaseProgramAxis_us-gaap_RepurchaseAgreementsMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_sy5gVf4_dEiZgBZmeVnTOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">us-gaap:RepurchaseAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-29</startDate>
            <endDate>2020-04-28</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw">
        <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_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_vmjBVpeQpUu2cciDTOBbrA">
        <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_zZioCX8geky17tQwyDEmiQ">
        <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_QaVTYJR-Sk-CJWrZwsHXTA">
        <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_lckOyUUN0EK1kGCXzdJeGg">
        <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_qH8zh0_p5UWYdTBQMf7jQA">
        <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_lXIsF3A4akKkBYIQN-id3A">
        <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_-CAIwk2Tok-B_IQAE1OWsw">
        <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_fCxkmUwsh0K-H0bNWqPkug">
        <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_F_rSpZnS2kWhxbLM1kMzag">
        <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_qxbKlJGiF0OYebjptlrNIA">
        <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_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_MTtBiDh0OU6qc7uDXnfYtw">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_UuC4L8PWdE-xhUjS_fwCaQ">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rXsoFsYiOEaqN_AHcIxLpQ">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zE2JbIRn5kypFq2dATQL0g">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_mkHaTeKOW0SdDBSASSDWsg">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_iZyLvAnXQUOf-cYLFs7KYw">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_W7_iLhUQ3Eez7g2Mo37oHQ">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ydj5ZY5Y8Ua9C_AKPuDEKw">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_i7z_mT8UR0qmoSFQz9M4GA">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uKQgAd85UE26E9YVfrYiaA">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_QEXzSH-1-06e6Rd58cRzIA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_N3V72htU2Emg9we-C9dySg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2010-09-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_xlsgy5UOXUyi5N5UhUX8yQ">
        <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_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_G4WXjlCzGk6tv1QgilDbNw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_aUDIOkC4N0moMgxXHdfJgA">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_yES1PigkHEWV9nrRGnfrFQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_P61IRcsLDEeNAKDB_BdacQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA">
        <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_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_X6HdNMxyLk6UYPVRb0alxA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_KrpZ0JApM0atDRTxQ0MKkg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CompanyAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WvHAcmeQFUqFMo8sQcW59g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CompanyAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig">
        <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_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg">
        <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_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherOperatingIncomeExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherOperatingIncomeExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_S0_yC5ixgUCpZ6LpleB0lw">
        <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:ModuleSegmentMember</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_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_btHWDCifV0SU4SHlhH7mzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</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_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</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_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_kMo41JwU_0GEjXwpPX6ehg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</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_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_VQaDkqyo80uf96BSRUUidw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</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_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_YYaFLG39WEudn0cpmISFqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</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_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fEC69IZKekeIix6zZJbfuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</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_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</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_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TVI-7bk6PUiQYiiW9AILEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EPCServiceProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</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_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CDFN3rq2cEmAuhz7QKBAyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</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_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_4C5vV0JRf06kUycJ0C1Beg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</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_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_kUWlIl6A4Uy6KbjwFpDY2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</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_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw">
        <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_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_Jv9VNCoqxkqZTvkrmGVb1g">
        <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_9hYzK6aiM0uiKlmxr2_kzQ">
        <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_qYwOGPrz_UCpF5Qq0SzF4Q">
        <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_szgko6j4vkyZa9JArkkKkg">
        <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_XsJ_CDavgkaSEgfCZEhfUA">
        <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_5FGYhx7wNUGv0RVedt7KOQ">
        <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_EDEe0_34L0SF7rQ0Ha1HRg">
        <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_wU-9NyRM_E-BkCPIiKwPCw">
        <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_vabopVan5UKJQ0_ZXkQ2AA">
        <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_H8Zl3MDCsEu2zEbjCdz5QQ">
        <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_NL_drdGL4vt0UixZBlgne8zNw">
        <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_cXPFmr4sHkiFAFyP4VqDBA">
        <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_PIEg9t9PjE--bkBZ0G5fjw">
        <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_ykEckAptt0mm-0ImnQ9y8w">
        <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_xPRZ0oF6A02B8ZfXi7pn8g">
        <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_33vlVAFBQ0uX7lJ4a9jeXA">
        <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_ES_tt5tG8UWyESYvceH87u3fA">
        <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_pEX-6nGZtEqtHg6tTpwizQ">
        <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_WF9AKKMK8EquIwH4a4LDYQ">
        <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_CN_-Ia16BaKeEKeA84eTeqCUQ">
        <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_BR_YVsDomG9TUqIcG2mSb8ICg">
        <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_mP9RmJvqoEi_iEyijKAsww">
        <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_QQgI5Og-fEmQGwpRDfHKWg">
        <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_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_inRuy9zgMU2nigTwevswNA">
        <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:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_b9UdPTWHcku8x1BMOch-rQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_1efr7KS9TESwBqdLnUWc8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_qa_qj8UtdkGC6Cnxgsbxww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_iAkG1oAo6UCqNLKFdrE8sg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TALXTvTgy0W8IszHpFgmRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fPGbU_p6XkysfyIatvq8Qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_GlG3OIvwy0uSqltQ5VaYKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_jK8Cjotp20ag5c73nNPEoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EPCServiceProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ryBfuNTHlkGuLlfppM_PYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_vxEfED5fB0WIbLKJSQuPTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SnS3FU17kEGCSsVbakhkhg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ZAWDmQFn9E6h6EhTX_7omQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_EuropeMember_LKX675WZ4Ee6-R9POmy13w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_AsiaMember_MDFr8DipeU2sC74Vlyh5RQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_bu3oD5kEYkOOPb3yoe3diA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_apDDsSNSE06sSz-TljVMBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_Ht53i2sfnE6nv9cfRa3j6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_AmericaMember_uJMI8LHFYEupnrSPxYPeoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ZA_uUyP59nHcEyI4Cg6E3MZBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_VN_MQK-jVPiLk60aWKpuNOsIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_US_caMAoHablECSOnmyrNHQOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_TH_q6PAt4QPWEugXEP-Ft3JiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_NL_LviJyIWt-UyI178sCn-2Cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_MX_t4zlw9_wq0WNrDlpU2SgKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_KR_DPeVD3afB0KkWsgINr0Onw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_JP_XUUj4F2VDkuqacUoSWbQUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_IN_9_mun8G7oEGrbTVhV691sg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_GB_WffZC1OSBEeoB_1tRDIGjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ES_ix1-uZWpC0KehDwsV3HQGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_DE_gM0QNQwhW0aazSi2LBiFlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CZ_1icskwoZwUGWzVTxVLFN5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CN_uLe4gp6Oi0yZheHzFVivAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_BR_d3j6JEMjLk2Snls_WCnloA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AU_WhjPgpmcVEGkwi8ZoKfbSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AE_lX3UZ-F5ykie9x0OHlTJTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_mgGNGOEeW0WVEY00FmdVww">
        <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:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_e8foUq8S7UmLlo8wmQmWKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_8By5ZzvkfE6TGaiODLMwTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_JqnZklJnI0Sq1a_O9UbcSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_WVTBv-zEEkK-i3er-mvy8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Wr03CnxDl0aEVR8LQLtaBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_xGoYbHVe-kWTZT4uU4a_yQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_QKxAMf0-RUuVnpa5Qx3uPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_sgvDmWqwaEuQg93l1PKZqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_aDu_dfgu3ky_qZHc0wIUSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_l08olw2opUStWzJNDnir1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_Soojqgr3cUKB2qyCL8yiyg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_EuropeMember_tgAO1xUv6EKUG-9XVQXD_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_AsiaMember_NJE3Cf3WxUKgT2YSiUIAPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_8uZph1D4i0-8JH1jLFU05Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_DwQYsrPBD0Kc2WODcRZvUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_5zYZtKtTIUOZcyeObpaoZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_AmericaMember__GE_yzKpwUGxVu4sUCxzdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ZA_805HHYc7dE2OJbd-rAIfLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_VN_CjZbdql7cE-sMM97Y-Zyag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_US_12B3vdfbFU-6svBHY67Amg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_TH_q2bNftrmsEC-mTf22RJ2UA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_NL_X5iF715vQUOJLEbth3zAZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_MX_9PjPnag4iEyJRdPBRzBF2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_KR_6LcDT-MJpU-CVoZxdut2cA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_JP_JMGL2-bOJ0-oUNuHEQh6bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_IN_qen0-4xKj02Fwt10wBVtcg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_GB_sXapV1HYBE6KheFFxTkZbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ES_acpMfxiQr0uEK5wDTO2jew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_DE_N6R1JQgIyUOG3tjqHgfgkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CZ_w_0XDhCqFEervnIpumeH3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CN_6w-s1NPKqUWlqEQvD5m3AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_BR_9NFUL80BJUeYoge8NrRSxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AU_SoHhxh_NGU6yBVUnS_MUFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AE_hmZcJO2dMUCEGNVVFjwwHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2019_To_2_28_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_gK9F7jLB9UOrvT57XyoeyA">
        <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>2019-02-01</startDate>
            <endDate>2019-02-28</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_1Y3gGzwOCEC7zI23QR9u4Q">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ith8TOrKrkeGeHlSIzI-bA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_7BuK5Is_jUOdijrh5slMdA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_la7eVIq5FUmKAJ9EhM-u8A">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_zMFy0cwj_EGgEoxjE1bHDQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QCxegUFpaEygc6lrzQyDPw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_B1LeOq-rGUmqf5I8JC8q0g">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_9nSd53ws90GOLDtJ9RZaQQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_TFQxLmDgpU6Abr3M6KeTqA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_qlK4e-1Bd0i9oV_AQt6GZQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_XVRtc1OvPUGFBVrUd_vkSw">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_GmK6ZhYAyUi6cHKvxVmutA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_RLUT85lMikOg6iM3_9GsDw">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_zEWZcmjnkEGNpRkscYszFQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_f23kuwYC1kSUyMEzckDNDw">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dzJaDJrpCUiB_VVzFGUM9Q">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_fg65wBq9OEmHr2oisAXdGQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_73Du0plvqkiawKwqIzGOGg">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_BvESqq7YKECcYeyhSu2GnA">
        <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_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wPuaHKDK3EuppnS5RxVAsw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_tnkCAsg17UatLYmCq4DZOg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">us-gaap:InsuranceSettlementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_yGSW8aHKvUCU-cyWWTmOiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">us-gaap:InsuranceSettlementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_GSLY653ToEWIvP0MwCXxPg">
        <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_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_GrantMember_2srcXON2jEuS-ffiEI4ABA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_GrantMember_IyVp6WbfrEmmRnpLB78etw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A">
        <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="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_BeLi6GE5Kkua1QXqTu8NAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_US_ci8yVRiKm0SR3Ns812lcFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_TH_XYa-8aDFLkKERupC5kcUJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_JP_OjahXlXA9kah_5sEOE1_sw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CN_B76wqxJKvEG44LSF0wo4fw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CA_Q3b3UZYpqkipqcdSRFHXwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_AU_RIqer513PkaoLhr2QRb8GQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_P3hRQm14QkKPIjv8WO8Lyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_US_nuaZvVimREiHosfkFDvShQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_TH_CdH4jtehD0qIrFCVEVYvpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_JP_CYyjx4dYl0OJaDub1M3ftw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CN_8QHe23S1wEmDHOVLkyKoDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CA_9QNKGZPwHk-4O0zYdd3Jdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_AU_Nm5oegU_EkiVgv7jr2CAuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA">
        <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_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_JWRvDsPwUka_T2lsk7qpSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_NkfUFHvpiki-98GFkz5oaA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_15_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_67RkCDdGfUyMt7-vVUuIGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-15</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_dFjpPyfdT0yiKEnn9IuxwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:SecuredByInventoryAndAccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_25_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_47PUT9M-pEG19ZgH0VNFsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-25</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2018_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_7ApNkRhE_0CMLMlGE-tNdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-31</instant>
        </period>
    </context>
    <context id="As_Of_9_14_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_65cKx5UOmUCkMoGigo2IqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-14</instant>
        </period>
    </context>
    <context id="As_Of_4_5_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ZaO8-lOzmkSOpXV4cotMHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-04-05</instant>
        </period>
    </context>
    <context id="As_Of_3_30_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_H02AytcwPkqjfLjt3UCu_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-30</instant>
        </period>
    </context>
    <context id="As_Of_3_26_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_soD0AKKIuUuNnrkbdBGCHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-26</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_YxgnMJzRbEuNZzwUeEkYlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg">
        <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="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Unnv7A6IF0SNpUA-z-kfzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_4OvvNdHmPkOJX1eQ44pPWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_fCMeD0tB102XyJd5n4KIjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Fsc3B2vRw0iyfhOc95NwbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_hdNSdECI10-ZOuoW3A_S4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:SecuredByInventoryAndAccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_LR3iHk2vW0KQebnCNviWTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_aoxurKTLVEiDwuHolZCXcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:FinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-11</instant>
        </period>
    </context>
    <context id="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:FinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-28</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_mXmvI0l1EEeM5fFueacxQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">csiq:UncollectableRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_TvJpH0SJtE-DtIo8F_DXEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">csiq:UncollectableRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_us-gaap_AccountsPayableAndAccruedLiabilitiesMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_z6P2d2lnrESe6ot6hqkgYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_1_2018_To_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_L3kCVTNU-UOX58ThrnFpqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:EnowIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-09-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_4zPDFsN8MEOZ5PjOunH-eQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_m8Q3EWEfpkKChJlmCoWrIA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_F7ZFnp-TpEq-nGa7S5yP7A">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_K97Cvf-9h0GjjJqdTs-NZA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_a2uc7kYqWkme20DzcCAvFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_hIkB5vi1X0-Px0z6AeNOvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_URLU5YKbh0Kyytn66vXQJA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_XKBDabUyW0CD8iogaTXkQg">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RoserockMember_-2jDVprwr0iK8v6ezxDy4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RoserockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KMuBise7OUOQiRB4yNOb0A">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KhP7w9NlGUuayLs6labngg">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ">
        <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-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_xpU4nJdTK02J6qL3DLUAXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:EnowIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_atfeGdwVF0mBEc7vyhZd6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="Duration_12_1_2018_To_12_31_2018_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_Wy0k8Dw-q0OGQJ8s6C-rYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_2P1MxjUaxE-zr9CuDsznLg">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg">
        <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>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZI0GHubZiEeh_RMUN13OLw">
        <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_cGXa-9vzCkm-xGQTAMbWhQ">
        <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_uhx8jb_DpU2wiJcNn3l0Pg">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_2_qkaxWROEyxRADTMrU6tA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_eyAcrO_73kexw3dXrjeWfA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_7MwrSxG1zE6KO4Ty0Eaapg">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_W6uTe13AW0qQxfTXx4T11Q">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_zLx4eDqeIUmirrjXr6DE5g">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_csiq_WarrantsMember_m0nbIynUtUiAV34r6IGW_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">csiq:WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_i5m7ctdmwEqFUFFiBLJFzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesNoncurrentMember</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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_E96IprHxEU-HXPo_yPXOEw">
        <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:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Lht7gLwOlkyRnARoUEadvQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ACJRmqa3tEiWpgv_X_4yzA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD3kvwSK5kaoJ8oD1jmSZA">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_V6D2k0G1CkivzsJ26fwRMQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ALYSHxr72kGVWkgQRImQ1w">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_86xcdACTLUif_r6p94OxHQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_HZa1K7Qq1UaU_k67pukp5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsNoncurrentMember</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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_WIbc_F7jLUKmdSmAPmFjUA">
        <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:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_zugAsS9LjE2wufdZ6ofbPg">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OJdIjAijS0K6Qrc47uH1tQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V3meU-7P10KA5q68VsFk0g">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_XeAS5nO-GkW-gpPwSZVHmw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-I3Bne7KJUiW8JUykJbA3g">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_6XxkbxM6IUeXCF1ofWfl1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_8UTduJvzpU2u0QlPhXukTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Pqhcg3bXH0C9v6U84hAHiQ">
        <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_01t4VpbMPEyF5f4KgeCrmw">
        <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_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_nQsty6uxZkSCvaBLSSYCpw">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw">
        <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_8h2LHSK_bUK7g5XVIxosNg">
        <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_sO2imR9DuU2CdSHZxG7lOg">
        <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_Vckiv6w5gEy0eKEJr_uPjQ">
        <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_U73UV985r06bSeqJDxjsSA">
        <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_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qBSWTIZPEE6iQm_IqcezHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_yeZsr6DhAUe-6DhVF4SYxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_xsDZKzb8CEqyTHafiYrNhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouGaochuangteNewEnergyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A">
        <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:ModuleSegmentMember</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_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g">
        <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:EnergySegmentMember</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_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</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_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg">
        <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:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA">
        <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:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ">
        <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:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA">
        <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:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_2CC3aRMbdUeLqTuW5RvP0g">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_xBLTo-0DN0e2e2pak5UCvQ">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_1bYGB9AGo0SbTP0BHNbItA">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ouRLNsx2YE2ZYX55F6ryjw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_KorWr0kIjUOgBI3b-e70kA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw">
        <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_z65UHMJPyk2H29t9_g-73Q">
        <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_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ync2vpL9vkSdVFl3lols6w">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_DRBcGFZYukGT2d2xWSVHNg">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_gnWVC8J_SUiN4JbVseCmFQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_Dm1sRkFcckWN-haCIZvhOg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_wzoGpx0GgkmiZaayun2EzQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5lpDB7_z30avE2UgNnsrpg">
        <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_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ">
        <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_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A">
        <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>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA">
        <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_InOwCE-pbkqqFZ5f9Hzwsw">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_tGbnrmV98k65EuUMZj90jw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3bshPo-TZ0ewiTeq3vJttg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_MzpFZC4xc0SsOrqWET8WEg">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_lP-g-aEimEi3Xo0Wx7M7Og">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_Lni6b2wqT06gMYUtRCWx2g">
        <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>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ">
        <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>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</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_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A">
        <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_tq-G0UD3eEqDOF452JF6iA">
        <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_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig">
        <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>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_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_bm-757FtQU68ZBQWkstNJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_vYOHebeiJ0eGj6XPOERzxA">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_6UpYfub3BUGWytj8LnT_5A">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_f4MtRWEu2U-HkSSZiE7hHQ">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_7qu8sGJfDkWFDX8HCOXxIg">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_GaiVxGQb-Ea-Pf708CGEmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BifacialModuleAndDoubleGlassModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg">
        <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_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg">
        <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_vGGbm6VVYkWnxmvj9a2U4Q">
        <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_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_amsmSJQ6Wku4fhLRaqNHVA">
        <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>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_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg">
        <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_HPonw54HF0Khe7itrDgQcQ">
        <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_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw">
        <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="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_e6D4t8_Q3k6-4Du3ukDoww">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_gyvGzgoBPk6U5a_JhPV_mg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_ovzvu2KUh0q2ohJZ4l8x7Q">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2019_srt_LitigationCaseAxis_csiq_USCountervailingAndAntiDumpingDutiesMember_bS4T7TJwGkCN51qTL7H5UQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:USCountervailingAndAntiDumpingDutiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ClassActionLawsuitsFiledInNewYorkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2010-01-01</startDate>
            <endDate>2010-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_2WH8T4jvyU-OxlqYQ4oGYg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-09-08</startDate>
            <endDate>2015-09-08</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarTwoMember_oxVnRVPscU2eTy0cveOR8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FirstAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_KC4M_b3zxkOYv5EBBchF7A">
        <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>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_ywnHsvMKSEqlHMEsWAIgEw">
        <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>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_l8u3wbph_0ijd7oXI9NDBw">
        <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>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA">
        <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_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA">
        <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="Duration_1_1_2016_To_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_83pBn5QsOkCv9_yelZJGtw">
        <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>
            <startDate>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_XhAYtJxcUkeQuRT0kk1amw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_7rh37m38QEi6EfxAGudRHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_MIQgX1VwqEybOAeurlaxHg">
        <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_t8cQY5bAzU-yeV-sxSagdA">
        <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_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_bkAVaYM15EmQbIM35GduTg">
        <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_DOY-AYh8JUi8k0idPnt4NQ">
        <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_33JisG54LE2A47Bw5bTPyg">
        <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_NPh8C7LJHECeEmAuTzFAiw">
        <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_JLou2P7_vEqXT73wTfXT1A">
        <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_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pNY_HOZnIk6S_Cx_AraG-A">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_FlG6nKVTo0KAB9DKt_5AEw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IBo9NIvbLUyT4Rv6iXMRMQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_3OIr_K05xEuzbasWpuYRgQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_FzwS043JFkCFXZkQylZQzw">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Bv4q5MiEmkWzYnjY2n1DDw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_dlAOFm7h4E235UcaiMqK9Q">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_FKfCSsb6TE6bU85fsoxSWA">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zP9wRc_tCEWZ-xX99ys6pQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yQTe_lwLrkin8aDcC1uNwQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_ocDHkN3-qEOTyq04go9m_g">
        <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>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_lbiTOXxyOkGyeO_8SAZsGg">
        <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>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-12-01</startDate>
            <endDate>2015-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarPowerChinaInc.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_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ">
        <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="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw">
        <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="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_doPPpFZ3-0SMtFKuRd9nBQ">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_ZvCdVuOIL0WUgu2MyAEiBA">
        <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_LRvKjJEMkUKk4ypEQ6GI8g">
        <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_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_tiD3_T5xBUm2DSnaLrAVcQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_oMfXEVnV40enxqssJftNdg">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_c98FVmoqQkyW_kLaSAxMdw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_FuqNMzntKkC3oW2vZfXXEQ">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_QB6FQT6tsUu2JlD0M-uS9A">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_4LmkbPUO0EaVzVJKFVhl9w">
        <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>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_V5qWxWd2PE6gJIqF5det4w">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_kaMjFIZagEOypzTRPqfy3g">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ">
        <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>2014-02-18</startDate>
            <endDate>2014-02-18</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_zoofUt6-skKcJlyAiZZvVg">
        <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-09-08</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:PilipinasNewtonEnergyCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_PNsHc0u5PkCTT9zn-4EF_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg">
        <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_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ">
        <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>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw">
        <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>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA">
        <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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ">
        <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="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw">
        <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_guMza6U0PUmGG5yj1SRyAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_GBP_Dc2Gdnkog0-JfFMrmYG68g">
        <measure>iso4217:GBP</measure>
    </unit>
    <unit id="Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig">
        <measure>csiq:segment</measure>
    </unit>
    <unit id="Unit_Standard_ZAR_CO6Y-961Uk2OBFlKKQofBQ">
        <measure>iso4217:ZAR</measure>
    </unit>
    <unit id="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">
        <measure>csiq:item</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_Institution_s8f8AkKbRUGRIp83T9dPtA">
        <measure>csiq:Institution</measure>
    </unit>
    <unit id="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">
        <measure>iso4217:CNY</measure>
    </unit>
    <unit id="Unit_Standard_D_TD5KJN6-H0iWH7G2g_795w">
        <measure>csiq:D</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      id="Hidden_9C1gErBitEaC_RId7u7RGw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      id="Hidden_IkVlY38Vk0m68Q9Dx3PruQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_UznZ8FIAgE6NzKe7HQElcg_2_1">0001375877</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_4WHhP1Zku0657zLBwoGi5A_3_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_CKDTLrpumES0UB1t7TF04Q_4_1">2019</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_iOYiNAwVskiqxVI4BKVo7w_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_dFLA3eaN9UeCmkTp_Fq0ZA_6_1">false</dei:AmendmentFlag>
    <dei:NoTradingSymbolFlag
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Hidden_zNr23FeY0EG0C9OVvgKUrA">true</dei:NoTradingSymbolFlag>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Hidden_8nrCX1EAuUm0Rw09CBQ9VQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Hidden_cbNFhl0lAUC7B2kZ0v6MGQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_1Y3gGzwOCEC7zI23QR9u4Q"
      id="Hidden_wCQYZoz750uAEDFs_tX9Mg">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ith8TOrKrkeGeHlSIzI-bA"
      id="Hidden_9fnvDhRg006UIcqPOGt6AQ">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_m8Q3EWEfpkKChJlmCoWrIA"
      id="Hidden_DzwZBiVHl02oSzavGfXqEg">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_4zPDFsN8MEOZ5PjOunH-eQ"
      id="Hidden_7NBhpV-8hEejJzqz3LlyIw">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      id="Hidden_QfSZT8C17EqqpvabdpjiWw">P25Y</csiq:InsurancePolicyTerm>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      id="Hidden_M-Q2a2b3OEOOK02jTa1BjQ">P1Y4M28D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      id="Hidden_GCueFfnbSEaf4cRxYJqJlw">P3Y11D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="0"
      id="Hidden__5mLaVFunU6MP9XF7ElhkQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities>
    <csiq:PeriodOfSunsetReviews
      contextRef="Duration_1_1_2017_To_12_31_2019_srt_LitigationCaseAxis_csiq_USCountervailingAndAntiDumpingDutiesMember_bS4T7TJwGkCN51qTL7H5UQ"
      id="Hidden_LgyjbK5sEUOtkHh3zIcJRg">P5Y</csiq:PeriodOfSunsetReviews>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_yES1PigkHEWV9nrRGnfrFQ"
      id="Hidden_KLLxw-9sJkO8VDGPXSoRVQ">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="INF"
      id="Hidden_284MyGL-aE6ozlnSTlAw9w"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="INF"
      id="Hidden_ffv6suZ42EGOZd8DQLEmVA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="INF"
      id="Hidden_bDjIoFvvgEKgVvWhVd5AnA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesOutstanding>
    <dei:DocumentType
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_01Yv0_K40E-7EvfsC7__QQ">20-F</dei:DocumentType>
    <dei:DocumentRegistrationStatement
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_Wy9cavkzLEi1XJ7mZEJEgg_1_0">false</dei:DocumentRegistrationStatement>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_HMpmKdm2GkOBJwQNpo3-eQ_3_0">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_TFOljN6SWUWAWV-KZOL5Nw">2019-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_Wr1QUQUlYU2eQVU3NLgFoA_6_0">false</dei:DocumentTransitionReport>
    <dei:DocumentShellCompanyReport
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_F-DCyHKtYk27JhAEDiUNqA_9_0">false</dei:DocumentShellCompanyReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_7S24zmlKI0ipp7SD5LZE1A">001-33107</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_EdVdHqq4V0-I1dLByXdVBg">CANADIAN SOLAR&#160;INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_6VxrH4l0g0ewpC9npsvtDQ">Z4</dei:EntityIncorporationStateCountryCode>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_LyOircXAsE-_1CtcgboL4w">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_g5516kwMu0ukNsO_57iVnw">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_o7b6U268AEmxgNFTI_fD7Q">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_OycITmqzqE-a1lZ-nCZ3uw">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:ContactPersonnelName
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_GJnd5G4DiE-FJisDsXTKBQ">Huifeng Chang</dei:ContactPersonnelName>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_UQnpD1KYi0unQ0_VhdY3hg">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_45KXbQ72Hk2jGGtMXjkq-Q">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_OB67wyEDXU2eKdKyVSHSVw">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_39o8pU0PdkSHvz566ZR4uw">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_H4Y0rllAIkqsw89ITZwcVA">1-519</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_QLS2lyocu0qK5fpeL6PFGQ">837-1881</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_z8edNEibcUC_q35OSn2lSA">Common shares</dei:Security12bTitle>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_b_Hlga1xcEGLFwHuVD23mQ">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_Z-ovXxauDUWE2WjlGVkKOg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_0uSQB5nV50SWlJxbWSabvw">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_pXYkS5oNuUG9w_SP66JDLw">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_KhPs-EXMBUytkqR12fiORg">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_zpZEmSP8Zkq6eKe8ETF-Ig">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_U1A2CJo1Q0-TF_dT8ShukQ">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_G7bDm93dy0iwTolfTV87Qg">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentAccountingStandard
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_-IKeTIU62EahmCs1UL97gg">U.S. GAAP</dei:DocumentAccountingStandard>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_A-EYx9P5UUiH7dku-QMEhA">false</dei:EntityShellCompany>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YBrDn6oPuUyXN0aU_uF47Q_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">444298000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_t0fcwWv5d0uFNFdncwPx6Q_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668770000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_d_UQXt9xc0SOnyWUtySaDA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">480976000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_G4unzBSQi0ySCBIIgncXxg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">526723000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_o3S8hbDBbkWFvWtJBL8dxw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_sC1VHwiI7U2CILUxl8W3Hg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29545000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_kU92M5ziZkW8aZmykLWBuw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">498231000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fpsVJMi1xkmizktorj5DjQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">436815000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_h6Z8aXsMwE68VjqXZc7TCw_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HqZNZXuO7UGWrjABdkuzOw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15256000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_xylnUjuJZUyxtXV6lEKL-g_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16740000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_oOr-qaT82kO-v8g9rsac4Q_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31232000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ycVRgMw6v0Cfmc4k_8EFNQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">262022000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_GtoH5OB6WEOFFk6LHh0Xpw_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">554070000</us-gaap:InventoryNet>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ggMjwyKVMESA3v4_skA4HA_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">107222000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ovdeAwaf4UiaT7-tACfHXQ_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">108920000</us-gaap:ValueAddedTaxReceivableCurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_0nTywNqhAEGU7cPwytl7Lg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5702000</csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_4k0hHzfkEEOK8oR3B85Q9g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7222000</csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_adhu3YMxbUiGWW3APLt2lw_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">37011000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_EFPGqK0_y0-ytvM9IeRkQg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47978000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_LJ7dk_jvyUqskyQ24qv8sA_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4761000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_wXDCz6e8skOd7ujQTmb4VQ_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5547000</us-gaap:DerivativeAssetsCurrent>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Zma5xhDXsE-vQbDF71PsEA_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933563000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_G-tmnmq9N0qRa_l8Z2Ovuw_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">604083000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_XyKxwBlyg0Kf8DNzcK2hhw_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">289459000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4lSIKjE23kKovkysDmfMRg_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">253542000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_kULZjecDaUaaBGLzCxm_tQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3074321000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_qlEg22CAP0yllslaBiAJGw_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3252936000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_2IekSdUd5U-IwoxTcIHHIQ_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15716000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_9H0CsM-HBUGP81CTGAvvpA_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9927000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc__C06IDRWzkKtXPSZTZU4Mg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">884986000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vcpUcBn-wEmp1uUqosM7-w_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1046035000</us-gaap:PropertyPlantAndEquipmentNet>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Uy78wNuxxUqHV0eu5l91iA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">54898000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_lxY0J1eK8UCd12MqMcozXw_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">52957000</csiq:SolarPowerSystems>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_0Hc-Tb0vm0aHnEWW-3-nQg_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">121087000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZsAitESPakKG7UI0QLNxOQ_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153963000</us-gaap:DeferredIncomeTaxAssetsNet>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_7P4TgzxkQ0-FTZ53SIXBjw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15224000</csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_JauZFgnsmEC55WBOHfbXZQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13059000</csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_H1fvU93sEky4S5fX2sNjMg_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">48908000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_YjLV3yf7Tkq9pW8vYM4ATA_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40897000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <us-gaap:PrepaidExpenseNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_JfpqlGlPaEWHC5JXrxqAdg_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65718000</us-gaap:PrepaidExpenseNoncurrent>
    <us-gaap:PrepaidExpenseNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_e05o5JX7UkCtqElUFzYk4w_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60836000</us-gaap:PrepaidExpenseNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_-s93_3QxCUOM_d-VOx9vmg_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">126095000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_7nxdEnKbEEuuiE1zQeYw-A_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">152828000</us-gaap:EquityMethodInvestments>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_n1Hq_FLWB0qQB68Bj2t_SQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14903000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_dP1meIhY0EuD8GkrjY58Ow_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22791000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1DMrq8JOYUK8VY2pVSlZGA_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1005000</us-gaap:Goodwill>
    <us-gaap:DerivativeAssetsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_B6D-IJWUREqO4TjAbFk1DQ_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3216000</us-gaap:DerivativeAssetsNoncurrent>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_y9PMYxgJd0KlAKytnBIbqQ_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">352200000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_JK6VLfa6HE-DJSIe8zazEg_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">483051000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MmTckAdutUScFy4yV9JgGQ_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">37733000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_LzZepsk_yEuPcxwDIHIfIg_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">129605000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_I2zfhIEmokO2RbN4ViC-sQ_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153253000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YY9ydNXr7kmeLKJR8IXueA_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4892658000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_GweU2HnnOk2sE4Mmuyt1bQ_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5467207000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_K-83hOjPE02X7x401YiUQQ_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1027927000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__7jly9ge6E-Gn8dSyG4_zw_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933120000</us-gaap:ShortTermBorrowings>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_A8Zyveo3hEmcMN5U5knvow_38_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">265770000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_9vAw4auclU-K2u2SB4Ir-w_38_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">286173000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_i6_Fp2bFr0yceQ5G94vWBA_39_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">379462000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Fgq5haKQoUmZ-7qh8z8Ihg_39_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">585601000</us-gaap:AccountsPayableTradeCurrent>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_4TeX9_TPhE6AyVq1Bc8G4A_40_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">369722000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_p7YoRpOBG06ITHSysn1qwg_40_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">544991000</csiq:ShortTermNotesPayable>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YeUk7Zzzv0an0dx25nLOog_41_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16847000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_0_Z8EKCzzUefTjnunUxc0A_41_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10077000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ee2pC0rSVUCaeo73iYKoUg_42_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">408013000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_bgHcaD7Z9U-l-Fz-gNB4nw_42_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">446454000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ltAjejrOCUyJsOcmw_i8_Q_43_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127428000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ZB9UQm_5tUO_zI0Sr5LQrw_44_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39024000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_K3vOVaFGkkSJl6PWiRADZQ_44_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">134806000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zPSuqkWjDEq-0j_uNX6z0w_45_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13698000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_2bSsTFbIlkq1C02oYmaZJg_45_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10481000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZurrAxIwkU669UjEkkG3TA_46_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18767000</us-gaap:OperatingLeaseLiabilityCurrent>
    <csiq:FinancingLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_A2xsIWSzA02dBEpOez_xnQ_47_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">158496000</csiq:FinancingLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_3GGTLSYhbEGvt1pG2mCZdA_48_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">141970000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_32MCRLdDHk--MzvugvPJbg_48_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">121527000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_0es59i6GE0K62wUmczQPcw_49_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2948357000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vtPESd_5tE2z_BzwBT8pLw_49_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3091997000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_7eZvIeCqAU2m1k6FKEMllg_50_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jlCmvt7-PE2z_uxMqXA_Og_50_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_XqtRzLLkRkqO7Fb--3Xwfw_51_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">393614000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_5DynY25JDE2XIUj7s0hcew_51_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DueToRelatedPartiesNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_TxzRhW4w0UWU4s4cYLbz8Q_52_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">568000</us-gaap:DueToRelatedPartiesNoncurrent>
    <us-gaap:DerivativeLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_IDpfdsVMfE69uf13yyzsuw_53_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1841000</us-gaap:DerivativeLiabilitiesNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_k-Ij16p_vUqWwlgJR-A_9g_54_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20128000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_14pssDoAEEqgvh0Ru_WPlw_54_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15353000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_H-4G9USEZESUWRCy9TqlSg_55_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35698000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_uLDKeMxIh0-v_IirDg_ZHw_55_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56463000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_g5sDp9VAtEmL9z4ngJ-S-w_56_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24608000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_hoj-VwdS0k6JMqsJtk9rIQ_56_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28513000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_cZInsQyo1kOQARQwoRVovg_57_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20718000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_bKfDrj09F0yGO0n8iAX3Uw_58_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">77835000</csiq:FinancingLiabilitiesNonCurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_csKgxPBQY0-XU-AwpFvyzA_58_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76575000</csiq:FinancingLiabilitiesNonCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_w52v_dX_ckmuo59yaRTuUA_59_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68400000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_nkFsXANpVEeGVVT6nQevcw_59_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75334000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_o0KG9b1zt06RciPutuRv2A_60_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3619813000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_rllidHHflU6kyqUalHR9WQ_60_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4042149000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Narr_Mv4X-YuAwkG4rXiX2aZspg"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_jDFjbNOgVEiF5Jz3neIFTA"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Narr_w7OX2YPsDkOAW3kThEda6A"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_DbV-UdBWzkuozeCgEr1BuQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_JDEeP75ijkGEKnhgKWHOLg_63_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702931000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_E2r8tHpkNUGzsgX6EY2RvA_63_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">703806000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Narr_Lfy6FpG92kOC6KiH2n5LfA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">0</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_KaCNLgspeEOwPl303PPxgg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_zCmYVJx2v02mSALJXk3e8A_64_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_kbm4qA4LSkGi-3sjuw78lQ_65_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10675000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fYxC4U--VkyEW6kxJgv54Q_65_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17179000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_tM0PJwqEw0mHqdx81Iyncg_66_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">622016000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_7oR3s1Ipzk6IS6VNeD9EeA_66_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">793601000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_LQCUpu74TkCLryW3SaGOZw_67_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-110149000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_c1uyUjtHfUKbG9ExPIsGSw_67_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-109607000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_v62Jb0SPKUKRVlVbyKTmbw_68_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1225473000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ClluirXs20GMBUirbOulhg_68_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1393134000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zk5b0ABVGUCSZaZG1I3tgg_69_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47372000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4ISYN95pdkWE46P6xgDniA_69_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31924000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_nBIb1qkWFUih0dzqzETq1Q_70_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1272845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_RcgYQOy8rUOseYU-XSwkPw_70_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1425058000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_yrWJPTiC_EW4OYnXEzLmrg_71_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4892658000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZI70yE5upE-M0gUKdttChw_71_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5467207000</us-gaap:LiabilitiesAndStockholdersEquity>
    <csiq:RevenueFromNonrelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_7o-Axsv2c0aYobLJ34iZhg_5_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3221928000</csiq:RevenueFromNonrelatedParties>
    <csiq:RevenueFromNonrelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_JKB-DLJCokaGDjaCQ8iPyQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3624687000</csiq:RevenueFromNonrelatedParties>
    <csiq:RevenueFromNonrelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_vGfHWFIh5Eqdo_xYlUNwRg_5_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3101113000</csiq:RevenueFromNonrelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_6IyKpvvfmkKFShjlRaGaSA_6_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">168465000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_YwhqbtzYDkuFFIVKpu7CCQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">119825000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KfCLhqpBKUis6pexcMAH_g_6_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99470000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Vw90HOXnV0SratWa4cAtVg_7_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Y4Oj8yrlSkWMW2NGPaY_-w_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_acy3__Fr0U-FuBM5M7HYDw_7_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:CostOfGoodsAndServicesSoldNonrelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_6AiGusp3QEy826Xsj7hqtQ_9_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2641583000</csiq:CostOfGoodsAndServicesSoldNonrelatedParties>
    <csiq:CostOfGoodsAndServicesSoldNonrelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_FOSlFgk_hkKtpzBjvNAdCg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2894611000</csiq:CostOfGoodsAndServicesSoldNonrelatedParties>
    <csiq:CostOfGoodsAndServicesSoldNonrelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_CU-f8vmKsEOQA5Txez5DCQ_9_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2424476000</csiq:CostOfGoodsAndServicesSoldNonrelatedParties>
    <us-gaap:RelatedPartiesAmountInCostOfSales
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_dshzcfgd-ECeyBLG4wiMYw_10_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">111212000</us-gaap:RelatedPartiesAmountInCostOfSales>
    <us-gaap:RelatedPartiesAmountInCostOfSales
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Q7J-3LiMUUSrvBXrcRpaqA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74819000</us-gaap:RelatedPartiesAmountInCostOfSales>
    <us-gaap:RelatedPartiesAmountInCostOfSales
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_1j1TksltrUq3yqPYklG_bQ_10_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">57610000</us-gaap:RelatedPartiesAmountInCostOfSales>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_XaX2w8QizUubNimX7T5ZbA_11_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2752795000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_03edZtgacki1s0yydNdsDg_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2969430000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_aYYXQ5A3z0-xfeJGKq7BHw_11_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2482086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Hp2PH9vumEesvXYWqRE14g_12_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">637598000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_TDr99oFz30eYLmtDCLtmlg_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">775082000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AkF1vgo0_EOyZml5sP1wnA_12_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">718497000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__9zE81x8CU2KQUx-c2IOvg_14_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">156032000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WmrQslWIaEytDQMKPUbu1A_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">165402000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-8OngyOhAECyc-ncol7l6g_14_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">180326000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_qGMMHWO1wEqDXp3b1oBH0g_15_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">230998000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_M6MATkT2G06G7qgYNXvtRA_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">245376000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wqYXe9Lb-EiJJI4KU2w9FQ_15_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242783000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BjC1_lt6nk69ycAfme1fng_16_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28777000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_R1hwS0Foo0qSnSAvVeDRQA_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44193000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_G4L2CfV_Wku3vSswemLnhw_16_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47045000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_2gibtbv-6UK5e-HP32n-tA_17_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47554000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_FFDIEAMiTkiIyVEwP9Bo6Q_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44546000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_OExzvatBJk67zevkCiQ3qw_17_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10536000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Z7VglG2oj0-vEuGP7w5PFQ_18_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">368253000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Nqi-sG8apkKxa483GSci8w_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">410425000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8JJhpYO2DUiLActlz33jhQ_18_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">459618000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_UUmM62829U-931dhOsi-yQ_19_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">269345000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vsfdvf1HnUKr-ktuB-r4eA_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">364657000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wtEhApDPGES3gIwr9aBl7Q_19_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">258879000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JnYYpIfKW0-IsqbMTWtarw_21_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">117971000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_zUXc9cdqJU-bC4BycUtu4w_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">106032000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_W9MKBXYrN0SIoh6A2RJ1Rw_21_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">81326000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_GHNrHBHx0Uy4avs7TeOieg_22_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10477000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_v0n3MXe3LkqQfk-7WdNflg_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11207000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_6ChsmkV-NEGNEMsJ3zYMRw_22_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12039000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_62ozPj3byEaCvwLj4JmVig_23_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-272000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_n93Sogo9TEiYC3EtxnoNgg_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-19230000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_q957mUSctkiolWmUpk-NXw_23_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-22218000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_oiByv09Pq0K7rdDyiAvOfA_24_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-23449000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_kp40k3OOpkWOSCYfrfiNdg_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6529000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-WTT2hKbPUumfMUoM4dW9w_24_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10370000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_C-mlLj3cs0yWC2CYjLhrZg_25_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3607000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QImlhNwI8UGmlcIxR-zptw_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41361000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_YyIwmm1noE6CGBfXyNjgNA_25_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1929000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ns1VyxLWEUSBLP0r_DXUQQ_26_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-134822000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_nomNiGPbek2dWnyTroyRPQ_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-66165000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_2eYWTmYOxkebCdq_PAvFZw_26_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-79206000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_HuiZUl4hTkiJnTvWvL9jbA_27_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">134523000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ayoU1wXNo0ycrdIdfrx2hQ_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">298492000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_GdqoG_HLR0qlUgS7-qUVWA_27_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">179673000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_UFR8dtwuek2jE5M97DYiRQ_28_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40951000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_UEj1hRAX2E6iCj6bnjI7qA_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61969000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_YtxqsYed8EOAx7Kis0AkBw_28_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42066000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_G8j6BXigGk6faadqR6Y5sg_29_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9411000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_v9XaaOJ2m06kT7Fv0p8ocg_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5908000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_CwJaKW_7EkO7UydcZ1IDCw_29_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ToMAImPpSU-4VY4bkhdkUw_30_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_cVSTJKqFo0i5Y0sNCeVU_A_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Ui6M8xs2yUe6cLjIfjBZew_30_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_L32xfik5xEOFVJccRIl9aQ_31_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3411000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_zwmrP0i9_0q6ZGpiOfynkw_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5361000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_4mjZH1-kKUm9-dbylvNdNQ_31_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5030000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_WkSDYcMp5UmoeCENGspyzQ_32_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_nJUzE74UsUm85lAHNzWFMw_32_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_I2C6Ls_7yEibmlMUeHe59w_32_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_uI-pcXU_fES7PDImsr8T-A_33_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_MWS--wjmYkOJ9UrgOhPZTQ_33_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">4.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_e6vIJ4h22UeuPuzp4aP14Q_33_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.88</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_Fu-y7pEfmEqRjOhLJX3Gkw_34_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58167004</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_QNxl_xMFNUS66H03vh6Cvg_34_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58914540</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_4TZzVfxe_EmcXeCqGjxPqw_34_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59633855</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_Z_Prm9qJ70eFL2eMb7_jWQ_35_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.69</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_dMKHiTS6u0aNBF0itPoq3A_35_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">3.88</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_4OaFc03FVUSX7yi_Xy4toA_35_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_zkrBAR1Elku-xXfzqpdgBg_36_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">61548158</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_jthfPfMJNk2rtoFSGWznCg_36_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">62291670</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_yuZgNE2gdUucBqPVjruQsw_36_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">60777696</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_u5MJWjpG00CIMEGLYOv-Mg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc__XkBEaWNDEOtA0xJXkMY4A_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wg8PgnOTqUWsK09KnN4yHg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_y6C15nr8OEKKmBcNgJvWsA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39305000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_hzdw9rNwBEKkmK0kRh0GYw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-50577000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_3leE86baR0mpW1CN9tnBng_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_VuTh4lZ8bUSDLRY8HAbL1Q_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1844000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ff-RKi5JqEa7t0rPVRr1Pw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">953000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BjvZb6VRH0yIfSk8qGFlnw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-246000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_x0LodW1NzEqpYdQTyVSdVw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5141000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_3_k5_NW60UiTabZelF0omA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wLTpraxj_U64YIVL1FH2SA_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_kPgk4QdEgEOwTk0uGHQAoA_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">140198000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_n2pRjWqj7Uu178xrOR3rRA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">189196000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_jyIqzq-JCUuPPdjR0qs4dQ_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">161027000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_vS3Kql8Sk06ZIjWuSlLbew_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2846000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_UTROSjSkEkSiFy7InItfEA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8241000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8ap1YtG87UiF0-Vj_c8XcA_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11100000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ecqmsMZ7u0KIPGjMAg_C7A_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">137352000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_MLTiv68RIketGv5YjETRcw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">180955000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_A_YH8ZVmfESBBMHCseWl9Q_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">172127000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw"
      decimals="INF"
      id="Tc_brzQUAJ100K7khRLecIEwQ_7_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">57830149</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw"
      decimals="-3"
      id="Tc_ApkCoPryH0i00NpDqEmGFg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">701283000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_i7z_mT8UR0qmoSFQz9M4GA"
      decimals="-3"
      id="Tc_D76-db_c-UWHZGCC4BLNnw_7_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8897000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_iZyLvAnXQUOf-cYLFs7KYw"
      decimals="-3"
      id="Tc_vUC3ZgwkWky76WzOuOajBA_7_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">284109000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uKQgAd85UE26E9YVfrYiaA"
      decimals="-3"
      id="Tc_kABhz3frrU-pt47n82qO4g_7_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-91814000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_W7_iLhUQ3Eez7g2Mo37oHQ"
      decimals="-3"
      id="Tc_sTX6M86pOE-U3O24UYzwjA_7_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">884681000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ydj5ZY5Y8Ua9C_AKPuDEKw"
      decimals="-3"
      id="Tc_3Mf9r67vQUu4AjNArPyteg_7_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14709000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_MP_E-uJA10OaYHNnh6H_8A_7_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">899390000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_tnkCAsg17UatLYmCq4DZOg"
      decimals="-3"
      id="Tc_DxCTo-ZY7k6L9qN2Qn8Hkg_8_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_d0jFxeJDxUSTectsm3IVPA_8_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"
      decimals="-3"
      id="Tc_wuoLOpIw4kegh0UhbdQYFQ_8_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3411000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lMR7CyMv8EqRQicRpNerIw_8_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw"
      decimals="-3"
      id="Tc_K1NdCDv1H0q-A3Cm3UPtOA_9_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39870000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_A_R7PRLngUms-jHhWjAUGQ_9_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39870000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"
      decimals="-3"
      id="Tc_Se6HX9eYKUaTVRYs8B8E1Q_9_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-565000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_M8M_ojjJc0yQq3PxIDfatA_9_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39305000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"
      decimals="-3"
      id="Tc_42Kz6VpvZUyjxu-cxc-IFw_10_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9994000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Vgmhiqfl_UGp2xbvuHj1qw_10_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9994000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3bshPo-TZ0ewiTeq3vJttg"
      decimals="-3"
      id="Tc_RWPuIjQZ70SHkUMRTt6zMQ_11_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_oseDYUwjD0q4iGxHiIx4jA_11_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_byzh51_v3EiLSYguXZqRiA_11_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A"
      decimals="INF"
      id="Tc_Klfq7xUlx0yxiPJbhCYfPg_12_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">666536</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A"
      decimals="-3"
      id="Tc_qoCPggwicUuyYkBA4HNpTA_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_O3IiUDbkk0ai4w_fdU8gBw_12_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_6n_NFHxA-UKuxRmdgH5OxA_12_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw"
      decimals="-3"
      id="Tc_TvYmquP2v0CW0IMoDj4kPA_13_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2090000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_7ZhlbXronUCEPg-4FoyKew_13_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2090000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_fBo-8i1yh0GL8uLfPsB9aw_13_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2090000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg"
      decimals="INF"
      id="Tc_vKF3XvtFpkisHcfJ8SmYGA_14_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58496685</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg"
      decimals="-3"
      id="Tc_hGprZFGpk0GrHydeCCdOBw_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702162000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zE2JbIRn5kypFq2dATQL0g"
      decimals="-3"
      id="Tc_1zJtfoIcqUGkKgGHgbmKyg_14_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">417000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_MTtBiDh0OU6qc7uDXnfYtw"
      decimals="-3"
      id="Tc_PwSbUcZUiUumSnZlQZ6dvg_14_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">383681000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_mkHaTeKOW0SdDBSASSDWsg"
      decimals="-3"
      id="Tc_-gXj6A6NFEyeQcLecndrxA_14_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-54034000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_UuC4L8PWdE-xhUjS_fwCaQ"
      decimals="-3"
      id="Tc_EDb6tNWHb0qAjWf12-DiFw_14_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1032226000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rXsoFsYiOEaqN_AHcIxLpQ"
      decimals="-3"
      id="Tc_kofO8yt6KkC10D2U8su4FA_14_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27549000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_Mfjoo7JcLEaAx4nXNzFWKw_14_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1059775000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wPuaHKDK3EuppnS5RxVAsw"
      decimals="-3"
      id="Tc_dIKcHhF_M0qsu9h4uExVMQ_15_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_RjkLdDLaMUCmksMvTEiEtQ_15_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_CGFqNnYKdUmgSZ4xzUWtyQ_15_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5361000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_U7S8T2vV4kOnebyK8W6yNw_15_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"
      decimals="-3"
      id="Tc_grS3ZugUB0CCAPWdNgmuWQ_16_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-53457000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_4wyFxiX09kSY6ES4LSlFHA_16_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-53457000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_bZM41C5F0kGIcRfCoJ5dLg_16_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2880000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZVcfkkFk1kygO8q4boupXg_16_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-50577000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:CumulativeEffectOnRetainedEarningsTax1
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qBSWTIZPEE6iQm_IqcezHg"
      decimals="-3"
      id="Tc_ApS5XDvKF0-sThi-q7LrGw_17_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1265000</us-gaap:CumulativeEffectOnRetainedEarningsTax1>
    <us-gaap:CumulativeEffectOnRetainedEarningsTax1
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_yeZsr6DhAUe-6DhVF4SYxA"
      decimals="-3"
      id="Tc_cGGeLVlDbUiLfz2RLalNpw_17_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1265000</us-gaap:CumulativeEffectOnRetainedEarningsTax1>
    <us-gaap:CumulativeEffectOnRetainedEarningsTax1
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_xsDZKzb8CEqyTHafiYrNhA"
      decimals="-3"
      id="Tc_Ik-e0M3os0C6g6LBErynOg_17_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1265000</us-gaap:CumulativeEffectOnRetainedEarningsTax1>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_h58maHA1n0y7VmHsoSIMjw_18_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7703000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_EW7uRFc3k0GjNDhsN8aINQ_18_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7703000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_ZGrtf4lE3k6qJt-J5mc6QA_19_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6591000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wV57uH_S3EeKmdlhutlHbg_19_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6591000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_s_HtOz4xzEih_60NYELEMg_20_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10470000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Fof3kFnQVk6FkOdYp7bwDQ_20_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10470000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_tGbnrmV98k65EuUMZj90jw"
      decimals="-3"
      id="Tc_noN8UjudMUKdO5NlfXcV2g_21_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_ok98y9W5EkmelfcxlQDZ2A_21_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_EwpsPkTU3UKQBouTf4V8YQ_21_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g"
      decimals="INF"
      id="Tc_9e1WqGzQ_0SgMYDveU69Tg_22_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">683939</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g"
      decimals="-3"
      id="Tc_xoozHFRZXk2lXNwWWbiX6g_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_4ewkGAMS1USF4z0MK7VeRA_22_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ojBR_l-ipU6xj-OV0JFGRQ_22_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"
      decimals="-3"
      id="Tc_VJRZU2URa0OoQ19tiza6VQ_23_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_mKnlT32WWEWRNtA5EmCAfg_23_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_AWXRRCq-6kisw1h_5gyOOQ_23_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"
      decimals="-3"
      id="Tc_c89Im06-rUewMnMI2T4z1A_24_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6094000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_5kI3HJDCP0eDrAnCSGnk5w_24_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6094000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Iu5cC9BWW0GQKtipC85LFA_24_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6094000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q"
      decimals="INF"
      id="Tc_s1IgaGWbW0eeuKH0D3KCEg_25_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q"
      decimals="-3"
      id="Tc_aJgZ9iNf6k2CnFlHCaWbWQ_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702931000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_rSpZnS2kWhxbLM1kMzag"
      decimals="-3"
      id="Tc_Kg9-BS1J6kiWeylo8fgK5g_25_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10675000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_lXIsF3A4akKkBYIQN-id3A"
      decimals="-3"
      id="Tc_E6psELDCiUWu9c-MyE1oWA_25_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">622016000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qxbKlJGiF0OYebjptlrNIA"
      decimals="-3"
      id="Tc_15khyg5nl02Pmm-WWNI2Sg_25_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-110149000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_-CAIwk2Tok-B_IQAE1OWsw"
      decimals="-3"
      id="Tc_wy3rrG5C6kWkEgH2Gkc7MQ_25_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1225473000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_fCxkmUwsh0K-H0bNWqPkug"
      decimals="-3"
      id="Tc_ED-kNCdGZUO181QUpx-LeQ_25_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47372000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_44W9o3SWzUmyF22h-_1few_25_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1272845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_BvESqq7YKECcYeyhSu2GnA"
      decimals="-3"
      id="Tc_CbQ2BceaAEWpdCSD2Ne6cA_26_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_j5DiQFMPTUueUP5MvjIPFQ_26_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_6j7uxYIBVUyH28vf5uAkYQ_26_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5030000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_nmkXFK6oD0K6U1Nz1__hPw_26_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A"
      decimals="-3"
      id="Tc_G6OMHt_bVEmLbgh7EkC2bQ_27_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6389000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_nG29BubvMUy-qbPvd8q99g_27_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6389000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_gIF__WJU4EKlHZYUU3OQeQ_27_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6070000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_l6E-YrGY3U6nAFV1ebvDSg_27_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw"
      decimals="-3"
      id="Tc_lkO3iigEkEmlXHNewtxCZA_28_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4178000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_yXNDSreYYkqJ-wy9lX8zVQ_28_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4178000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_IL2JPxmxtEyQxQr_gFvNMw_28_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9998000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_D31U3jfbmkKJ1h7rq80bKw_28_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14176000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"
      decimals="INF"
      id="Tc_4zYEq-IXkUimPULp_XE5Qg_29_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">-609516</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g"
      decimals="0"
      id="Tc_DR98JPKHNEWyL4tYKbj6dA_29_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g"
      decimals="-3"
      id="Tc_TZhda804ekCPJlZ2jt1DAw_29_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_g6npWowQsUCGKV9a7ieZ4A_29_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_E3IlqwUTTkCSZBizmlTwEw_29_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw"
      decimals="-3"
      id="Tc_Nf5ubK8b5keA1SIjzncxCQ_30_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_bBXxIFYdvE-4hZdpdujDuQ_30_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_iPN633H0-E-v4IZJgZ456g_30_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"
      decimals="INF"
      id="Tc_MeeZ-85LTEKuePW9pXegGw_31_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">800576</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"
      decimals="-3"
      id="Tc_xFVMN29gE0-lhn6DAZFz-A_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_b8vZO7O1q06uxL8qxU6jUw_31_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Jw4J4LZAdUaOMyUesrB0jg_31_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_jIEMXXucC0Ofr8G2Ok-9Mw_32_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5650000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_LpgplHqVuU2BwAvJxfqnjg_32_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5650000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A"
      decimals="-3"
      id="Tc_wAhMwldiKU-6HEBHLUVRsg_33_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_tACjrbskKEif93dyfbu4hg_33_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_oCklvAFWYEOvfS7hPgVntA_33_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw"
      decimals="INF"
      id="Tc_hdqcjHEFEkeyHMdG6YJUNg_34_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw"
      decimals="-3"
      id="Tc_l1ovoQcNd0q6adRfwy8jrA_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">703806000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw"
      decimals="INF"
      id="Tc_CkgLZLRm0kmkE--d9bpT-A_34_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw"
      decimals="-3"
      id="Tc_tYMbck9RVE-VCffs6ekDDw_34_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lckOyUUN0EK1kGCXzdJeGg"
      decimals="-3"
      id="Tc_77rwPB_wCUy-oxgFTXgDZg_34_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17179000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_vmjBVpeQpUu2cciDTOBbrA"
      decimals="-3"
      id="Tc_chkeIhsnD0WCw3I7X1-4kA_34_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">793601000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qH8zh0_p5UWYdTBQMf7jQA"
      decimals="-3"
      id="Tc_It_7IXhtL0qB9FozDY1Wpw_34_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-109607000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_zZioCX8geky17tQwyDEmiQ"
      decimals="-3"
      id="Tc_mreGoS46jkGp9EK4hHX1uw_34_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1393134000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QaVTYJR-Sk-CJWrZwsHXTA"
      decimals="-3"
      id="Tc_OGZ-2bZ_O0eAdnHElz8KCQ_34_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31924000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_DJfirnUuZk6TukKvVAwAww_34_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1425058000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g"
      decimals="INF"
      id="Narr_GvYWZfBwtUWYgGXE9imMag"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g"
      decimals="-3"
      id="Narr_j9C3RP-DUEi5wvoChQi_eg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_D1tEpRlGlU-Sn9H9MzGMdg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WelYYR7AZUOR8x3yUAt6zg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_cRQ-dZmD9Uuqy0TaXRtR-w_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_z5xX1G12KkCIIW7HiHgY0Q_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99273000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_4eS9mdyax0eAxPDBGmdx8w_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">129256000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8gv_ZVcS9EqqsgmnPFEycw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">159723000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_wH0MWAcrzk60PnGGlHnAfA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13976000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZO8HFQp6Rk2UVlpOpPK7kw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2565000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AqFaVQnO6EebyGgH2uBetw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1227000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JYtM_GCUH0a66kMW_PyRhA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27803000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_GkefzrdSzkOeV4NCICquoQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">36098000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ELMHCy6Pgkuc43GK4vM3JQ_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1666000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_8e5RHhm_REGAZstdbbV4Dw_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47102000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0wXMJ_V6a0yiHgOf9jYkAA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1928000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_p__1GrxtsEaRIrWJ4xDwmg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11626000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_shCpBeNtg0OB2IHe7dxu7w_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30968000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_MRcU_0eTDEK72jbHAC-X6w_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21866000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_avGS9BYniEmMeT2Y2cH-3Q_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9016000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_9QO0cczt_E24_sQonQy_sA_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20194000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_nbOBeIyC3Uah11SE43iujQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3686000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_mrXsIcRtok2Cz4nY7cox4Q_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5738000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_E2uSh4TlEUSeteoxtd7jVg_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-272000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vZl7kKDc1Eq6Y1uHLFsahQ_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-19230000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wBtR7auZJkyzSF-pJjmbtQ_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-22218000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_y9n5xjiKxE-J1R68o6Jixg_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9411000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QFYbsTYLvUO-gIe0cYmPkw_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5908000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_RrfRgep_G0SQxbniyaw7TA_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_dlljOtj-J0-EqeBeaLVQ6g_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7265000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WwarjZCSiEWyKmq1H-TBQw_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2812000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_JCAFV0pGLUWBTYYJR_mogw_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1250000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_yozjHbYKBkK99RWpUJcxxw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14318000</csiq:NonCashOperatingLeaseExpenses>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BExZiAxJS0KFbxGEpF5hjA_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17820000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_BUnuCqoaNk-D72FikK-pMQ_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14646000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Q9lCuiFpPk-ZMjwmmo1o8g_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19447000</us-gaap:InventoryWriteDown>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_b0pFb3c9Jk6muJTxuLdmIQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_AoGIgjDZFUSR6t5aVPXYDA_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KUDL7Gnxr0-RwirYwjCAFw_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:ShareBasedCompensation>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_uFTpO6AwG0mNGtrwmubDOQ_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13065000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_XLzHUel8-0WQGi74eWdkmg_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13573000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AsS5YxKNfketr38A7L55ug_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6194000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_WPprDbFnxEW8cc66yQUIyg_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-46337000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RCXSCxpwdUaifY2H0H1bHA_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">179607000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_TkP4bmHGpEGJZyR2qxd-lQ_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-51670000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_FqAkN_sIdEOBXteiLPn5dg_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2345000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_BawDa6J0bk6pGaF1haz1IQ_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1158000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AfoOxm-ArkGkHXZA3woThw_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15268000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BqBtMn0L5k-Ja4imMM9SRg_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10089000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_c26kZp9C4EKGKHwuq3dGiQ_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9237000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_URKzU8fa6UW6hXNURDuqiQ_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17347000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_HFxyI8Hv-ky_saZeJtqJ0g_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49024000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vOYnbjY1P0yK2gTzTPnqTg_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-55408000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0KmL9LtUaUqDKmmAUm6TUA_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">312781000</us-gaap:IncreaseDecreaseInInventories>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_bNSAOzEJNEiMVlXrr5Ljjg_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38190000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rdKhAWxxj06EAmjfesRQow_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9206000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Eo57wXEzGUO623klKKOE6w_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">849000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JWwrv_OZRECRWdU4LIIaiQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15990000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_fZfI6daKHkWkfbh4SxJONQ_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-29001000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_tBR9VC2FjEqtc4RMki-CbQ_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27066000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__ru2tytD5EmONV0ZfxtVfA_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">128982000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_yBuQ2KB3VE6AwBLRwI15RA_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30501000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_PMmVirlZFEiOKu9VBdW0DA_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-28527000</csiq:IncreaseDecreaseInProjectAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_nDZJxeah5kWrYXbrt_vz1g_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49813000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_bbNAfR3Zu06PrXpiIZ0mCA_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2208000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_qchk-mvG7E61iJfh1dMd_w_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-33283000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_libW7wqQHkur40F75-wgAQ_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23795000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_VE4pw_Nl_UKrF4Zqs6oORA_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9387000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-mlVkCgde0ymyDCBF6b4mA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24037000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_dsNcNw5wIkiKBnyzWG03-w_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-27758000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_TCnc5Xof7Uu2d4PFcRM4Ng_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47756000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc__bhjajd_iUSjVKFuAybWpg_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">209175000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_f1HXrfoLSki9lD7o0M-Lgg_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">243685000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wEaYMGNts0qwTOBi4ngD-w_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-173148000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_SQpMJ-b-fUCdFbrKnSKcqA_32_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">185827000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ZUIcMU2-UESXItIW0miC8w_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33908000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_2v6uZMSppUWTGcMBk4lD7Q_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10467000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_c7LUVzoRbEikyAehxeK75g_33_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5798000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_K7FdL_Zf9kmsQMHToNPd7Q_34_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5889000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZEO3SkV9vEOi--vvuyMKQg_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39791000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_03XOFoOgzkyzD6015RKLXw_34_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42810000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_c0tSKiMtwUS5KQoYeVT0pQ_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-44985000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_3vVQBohtjEK9-DS0ymzfQw_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11225000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_E-ixZAVFWUuujnBp8KGw1g_35_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">96115000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <csiq:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-1Hk3XWDQE2GeXLtpzV3jQ_36_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-12566000</csiq:IncreaseDecreaseInOperatingLeaseLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_3rJVES3LQEianV-KESZvww_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-18774000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WiXNg8SIrE2tESLV_juJqA_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-29691000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_k0j1PDi7DkWioR69yrK_Wg_37_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-10851000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_kQQ2G4DCU06s2AhZVu3tJg_38_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6726000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_P-ccf9zvOEGxGFWX98IgtQ_38_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3563000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_e50V5X2hFEyeXLMIm2v5-Q_38_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4624000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_r-Y7vatMik6-o8W7zqamaQ_39_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30087000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_JoIikGqSPEWpLaXVtVK2gw_39_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6557000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_qU4D1v1VNECMcLMMrDKF3A_39_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2622000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_GShe1fLLEUWVmeEguxrnCg_40_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1369000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_31706Yl6tUK89X53zvXrRg_40_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5243000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_sk7-IY-H00uMf5jMuJkmPw_40_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1005000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JjzAHn02i0iKDoFQ7EC8ig_41_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">833000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_bvV5xsw3LEWuiqCUTqPOJA_41_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10863000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_nASZU88vIkOr7v46ayAsNw_41_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4775000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_-MR1Gccg0E-7TDzsu6lLeA_42_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-84939000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_usuUDD0zvECsdmYL_HjEcQ_42_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-37591000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ILZhlTHEVki93pejVWKCaQ_42_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12455000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_zpGNcu6Qq0-CMY8dxcnJhQ_43_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1460000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_FCjBKuUQk06r9cd0HDa4-g_43_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-28731000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_h9T46d-CaU2nF6rpjgIINg_43_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27012000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_NJNx6mUwzkCLRcHU98AJ4A_44_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4126000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_OMsgZOG4-kizz53hcCFuYA_45_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">203920000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QlsNmiFk8EK1rpJhl9-jAg_45_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">216280000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_jUSKc0DLDU2qjUBigb0ykA_45_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">600111000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_htstnckCcE26VzIB57GvAw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">92925000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_mjSpxh-Q7EunaWFVEk7H5Q_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11036000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_gQ7n2gJy_UayBP1dN50lDA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7684000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_rBwByD0DAUa-NQ-6latrxA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4233000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RascmZhlE0adQjjx76bemw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">816000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_X74qGD0HjECDb092jiODjg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3012000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RhmIif9By0WFkYhHS8idbg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">337773000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_JazCUzJ4i0y9iWnYlEa9vw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1649000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_TfM9kX4yAESGgyhOwJJ7gg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">276978000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Bdbut6BA-EeNtC9ohMy5rw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">316282000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Sf6hEBQlDUKGj_kof44YJQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">291182000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_aPgEvS9ISkSujqIo4Mrwzg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33697000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_iZq9IAJuVEqLqrMLmsuBlA_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">128768000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_PJHz97GJoE6wZNQUjk_omQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17800000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_1Vr_yYc24USGipeFWeHCkQ_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">103000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cKkNrwMUcESR-uwN5KV1pg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43930000</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_1lCgK28m70ybwCH6iKACJQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12561000</us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Ti98km25V0mHGkT1L8-bGQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-239230000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_qS-k3TFVOEitK7xmWtvJaA_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29071000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_JYB2a0OawkWeUeBULZRsvA_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-294102000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_QFwKrGGXIEuT1x0PaAsZmA_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1646910000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RgRymgwjAEqnX-PQKgQ0Qg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1430708000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_25s3XJ9eN0eG5pWAOB46qQ_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1257009000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ELBPnMGA5Em9CzRx4bdejg_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2068069000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_a50_zv4UM0ePt-sJPDJOxg_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2368967000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_OTnazN4eEUqxZvhC17obUQ_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1649721000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_FlAFH0GdkkuggOWZqMK6tg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">690841000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_GWkRNiZ-OU2mZZxcMsHDKg_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">382831000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_f5BNJqVhWUulFNW4PmIQpw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">530990000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_myYQMLbYokSWuKIIrVhtOA_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6591000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_zrSH_DJ_jU-hF1C6Qd3PYw_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14176000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_lGjUv2UraE6tl60m3NJpXA_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10470000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_SXnX53lI3UmFuPbkkORTXg_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11488000</us-gaap:ProceedsFromMinorityShareholders>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_rjKztCJwmEGjJYmh2Kaoag_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12243000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_VY9-rfoOu0avNjLgPP5uJw_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">119095000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_vTfdiJbfE0W04xqHa2vqpw_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_wP-Awqw6RU6Kn1qab82QSg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61142000</us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities>
    <us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_KbgHEfmDh0OjWOI8TBtNnA_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35944000</us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities>
    <us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_h0RXvmECCESWCs4b7eCowA_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9044000</us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lzivvmbdrUa4qAXpgBuMbQ_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9582000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_fctZhZpsAUu6ixDrDHymZg_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3013000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_scdzpLOYq02eoczBxT4RPA_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1120000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_kmH_mq9XB0S4u7PQrzAG6A_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30128000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Y4EM7FiUNE2YvCu-9hav4w_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64859000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_PgOyRWz00EKJNn8dhB8dmA_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42658000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RepaymentsOfCommercialPaper
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ONyRNVmONU6nzfVOMj1K_A_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">138953000</us-gaap:RepaymentsOfCommercialPaper>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_evt4KnuBd0mxNRcNdP-TQw_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cq7YRCeRuE2_auA_5Vg7IA_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_r6vJ9bHwAEaJNPmhT3F8HA_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_GyO-DgAmh0Cr8BUR1MRcjA_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfOtherEquity
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Bi0CnA-Z_kexiULd0EGjQw_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:PaymentsForRepurchaseOfOtherEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_sEa5iLLDWEK3KnzbKO9wTQ_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">165283000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_phd3RazPjEKp0I2nxjnodA_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-463613000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_pby2mybW10ybma439sj5Mg_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-34614000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_wXl8_JyKbkC3AyBTi_FOyw_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51342000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Vr3MWsuVQk2C7dfqA0oqQg_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-38725000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_WMYA6bITHUa4nKAo-yFBWA_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6965000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_y7xeYneNXEmc5ocTK1ms_A_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">181315000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QPKLzXpBrEKZvyC27tZ3Ig_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-256987000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_w8kT5b_e3ECZWGRn7NrVEA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">264430000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_zpobSsuRFk2SScd6ngomDA_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1007700000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_b9gXjbr5t0W0-wOwXOs0JQ_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1190134000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zihSZeTo_kK3u4Nh5AVMiQ_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_25r5P71A0Eu0uUSPFrpPww_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1119000</csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale>
    <csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_PQ6BIycV0UmSFfeT93FWbQ_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7843000</csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_ZgeAD7lx3UCJt5nL92Vxpw_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1190134000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_-tZKOIIto0afQQ6UyNGrig_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jPWK1YLV50OrI7ZpWD8xFg_33_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Kk6qwWHUiEuDnJzJ_PsOGQ_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">113513000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Ae50QTcUE0m2qQb1E14hNQ_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">103236000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_FetKQBhFJE-0Cb7nwVcP9Q_35_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85362000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_tnQoyjLykk-S9XjnzNbAtw_36_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45483000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ttq32Qgi20aWuM2nNzlfMg_36_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32135000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_lVvvuXXsu0OP7X6__3Ak5A_36_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40454000</us-gaap:IncomeTaxesPaidNet>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lJotV0R_eE2QgIOxEVhANQ_38_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4782000</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_scqNLF1eYUeuEFeDa-wAvA_39_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153017000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZscY_1Bn80q9CluRYPondw_39_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">228970000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_XgfcZyVhw06f-G9DY9PZiA_39_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">244483000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_metXh6pQsk6xm3xO0e-C5g_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">444298000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_rPoY1uZzjUyf7aNVAEITaQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668770000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ChqSHFOk6UOmzwScTxAxdA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">480976000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_GeNXgaTWy0uuOdu62G1-HA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">526723000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zDeISFYBWUCVC_YvTjiAtg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15716000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_T7PbZSAypEeMAM_U-0Tv5w_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9927000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_wQ9mZ6cQBkSOt2aUQoHuSQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_9i2c6QtRlk-Bdw_9vVrXXg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_XGTPfGIXfk6BzfHTvUb78Q">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;CSI and its subsidiaries (collectively, the &#x201c;Company&#x201d;) design, develop, and manufacture solar wafers, cells and solar power products. In recent years, the Company has increased investment in, and management attention on its total solutions business, which primarily consists of solar power project development and sale, EPC and development services, O&amp;amp;M services, operating solar power projects and sales of electricity, and sales of solar system kits. As of December 31, 2019, major subsidiaries of CSI are included in Appendix 1. &lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_wqodQOLIk0qpY2jzsLARsg">&lt;p style="font-family:'Times New Roman';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';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';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';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';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';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';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company'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';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';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 could differ from those estimates. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable 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;), 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 warrants 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';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';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';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';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';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';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';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 EPC and development 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';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 doubtful receivables&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing insurance from China Export&#160;&amp;amp; Credit Insurance Corporation ("Sinosure") 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 Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $164 and $166 as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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';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';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar 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;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power 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 power 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 power 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 power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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, ecological, permitting, 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 respective project assets 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';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. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar 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 will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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';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';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 noncash 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';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';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';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';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;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.64%;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;5&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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';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';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;b style="font-weight:bold;"&gt; &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power systems are comprised of ground-mounted projects and roof top systems 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 feed-in tariff (&#x2018;&#x2018;FIT&#x2019;&#x2019;) or other similar contracts, 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';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 &lt;span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 25 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;1&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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;) and Japan. Amounts are charged to earnings ratably over the lease periods of &lt;span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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 are considered as return of investment, and the rest received amount are considered as return on investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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, 2017, 2018 and 2019, the Company recorded $3,686, $5,738 and nil impairment charges on its investments, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain jurisdictions in which the Company's project 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's ARO included in solar power systems were $43 and $26 as of December 31, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective January 1, 2019, the Company adopted Accounting Standards Update ("ASU") No. 2016-02, Leases (Topic 842), as amended ("ASC 842") 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 ("ROU") 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';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';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';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 ("ROU") 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company'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 sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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';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';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power products and materials&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 reimbursements received from customers for shipping and handling costs. 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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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. As of December 31, 2018 and 2019, the Company had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. 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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;O&amp;amp;M services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M 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 services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;amp;M services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;EPC and development services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#x2019;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#x2019;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#x2019;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#x2019;s projects, including materials, labor, contingencies, and other system costs. 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 related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power 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 the Company obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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 conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $10.9 million, $4.7 million, and $3.9 million, respectively, related to electricity generated and recognized in revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information 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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table represents a disaggregation of revenue recognized at a point in time or over time:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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 colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,705,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,095,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,238,310&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,175&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,275&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,688&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,969&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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;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:56.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;br/&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December31,&lt;br/&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fluctuation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,782&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,405&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,723&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,318&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the year ended December 31, 2019, $62.0 million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $155.7 million as of December 31, 2019 are expected to be realized within one year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Practical Expedients and Exemptions&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies the new revenue standard 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 new revenue guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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 costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $79,853, $69,855 and $88,079, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:3pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $28,777, $44,193 and $47,045 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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, and government grants received, and compensation from business interruption insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#x2019;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants 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';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';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (27,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (36,098)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,666)&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';font-size:10pt;margin:0pt;"&gt;Net loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,473)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,097)&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';font-size:10pt;margin:0pt;"&gt;Business interruption insurance 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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (44,546)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before June 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 June 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In August 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';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';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';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 twelve 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For solar power 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 power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#x2019;s solar&#160;module product warranty policy, 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&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of one year. The unamortized carrying amount is $1,286 and $1,486 as of December 31, 2018 and 2019, 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';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';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';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';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';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';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 &lt;span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;25&lt;/span&gt;&lt;/span&gt; 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 will 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 $75,617 and $79,888 as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made downward adjustments to its accrued warranty costs of $1,446 and other non-current assets of $800, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $19,793, $13,188 and $28,044 are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 and Brazilian reals (&#x201c;BRL&#x201d;), 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';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, 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, including aluminum and silver paste, 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 and Japanese yen. 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, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company'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';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 doubtful accounts 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' 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's expectation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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 for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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';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';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';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Earnings (loss) per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) 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';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';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;), 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&#160;period.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In February 2016, the FASB issued ASU 2016-02, "Leases (Topic 842)", requires the recognition of right-of-use ("ROU") assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#x201c;Leases (Topic 842)&#x2014;Targeted Improvements&#x201d;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#x201c;package of three&#x201d;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;This adoption primarily affects the Company's leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use ("ROU") assets and lease liabilities on the balance sheet for operating leases of $33,829. 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 treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326)&#x201d;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#x201c;expected loss&#x201d; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework&#x2013;Changes to the Disclosure Requirements for Fair Value&#x201d;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2018, the FASB issued ASU 2018-17, &#x201c;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#x201d;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#x201c;ASU 2019-12&#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. ASU 2019-12 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 is currently evaluating ASU 2019-12 and its impact on its consolidated financial statements.&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_olhG7QdxXkay-6pLuPRcdQ">&lt;p style="font-family:'Times New Roman';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_bVds4cAka0qH2Wg7RHzwXA">&lt;p style="font-family:'Times New Roman';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';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';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';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company'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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mb01o_-wj02tWjQbsSDJYA">&lt;p style="font-family:'Times New Roman';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';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 could differ from those estimates. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable 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;), 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 warrants 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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NR0gRH1ogUW4yHjiJvv5Kw">&lt;p style="font-family:'Times New Roman';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';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';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';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';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;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mT9Sshohr0SoGm2NmOGoQg">&lt;p style="font-family:'Times New Roman';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';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 EPC and development 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>
    <csiq:AllowanceForDoubtfulAccountsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_qoB0QIZxE0S9ioyv8YObRw">&lt;p style="font-family:'Times New Roman';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 doubtful receivables&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing insurance from China Export&#160;&amp;amp; Credit Insurance Corporation ("Sinosure") 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 Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $164 and $166 as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.&lt;/p&gt;</csiq:AllowanceForDoubtfulAccountsPolicyTextBlock>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_yGSW8aHKvUCU-cyWWTmOiw"
      decimals="-3"
      id="Narr_ZMR7DMyivUuTCa_W91oqig"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">164000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA"
      decimals="-3"
      id="Narr_AVuKcrvTJEuDLKM5bt8gVg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <csiq:AdvancesToSuppliersPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_gr7CJ0yc3UqYaGN5l_tCpA">&lt;p style="font-family:'Times New Roman';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_079wBtwvL0iccKYwFl5AoQ">&lt;p style="font-family:'Times New Roman';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';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';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';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';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;</us-gaap:InventoryPolicyTextBlock>
    <csiq:ProjectAssetsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_big4lF43J0W3eAwWlbxVaQ">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar 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;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power 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 power 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 power 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 power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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, ecological, permitting, 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 respective project assets 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';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. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar 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 will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.&lt;/span&gt;&lt;/p&gt;</csiq:ProjectAssetsPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_sqN_SsbAsUyQ3DXVkV8jgw">&lt;p style="font-family:'Times New Roman';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_aDwXhyoLZEeCZhnB51-v4w">&lt;p style="font-family:'Times New Roman';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';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 noncash 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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_dgMVvSnNwkKJzek58xGMcQ">&lt;p style="font-family:'Times New Roman';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';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';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';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;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.64%;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;5&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ykvxbwJ_T0-FBIo0HaJL_A">&lt;p style="font-family:'Times New Roman';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;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.64%;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;5&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg"
      id="Tc_bjE0CVZPkUu6Wog5Wd_Kpw_1_2">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_7BuK5Is_jUOdijrh5slMdA"
      id="Narr_brPYCOyK70-0Mu83wg64yA">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QCxegUFpaEygc6lrzQyDPw"
      id="Tc_3bSHF9H9-Em5RhQBgjiFLw_4_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_zMFy0cwj_EGgEoxjE1bHDQ"
      id="Tc_l1v9ddcoqkG2uo2cZLMD7w_5_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <csiq:SolarPowerSystemsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_85PAyxFxBkaMKAXv1gJDOQ">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power systems are comprised of ground-mounted projects and roof top systems 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 feed-in tariff (&#x2018;&#x2018;FIT&#x2019;&#x2019;) or other similar contracts, 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';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 &lt;span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 25 years.&lt;/p&gt;</csiq:SolarPowerSystemsPolicyPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_la7eVIq5FUmKAJ9EhM-u8A"
      id="Narr_ZMcoNEKZY0uM3obd6ZtXBA">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_9X-GYHtOxEGFWxlh6_mDQw">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;1&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_dk02bjx4-Eermbp3HYRvsQ">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;1&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw"
      id="Tc_IKk0zlY6RUy5w7J-jjo_DQ_1_2">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_K97Cvf-9h0GjjJqdTs-NZA"
      id="Narr_LIGUOrOdWE6pU8pmdPHYBg">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:PrepaymentForLandUseRightPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_j2ZwW9wyj0CpjqZn6uSjmw">&lt;p style="font-family:'Times New Roman';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';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;) and Japan. Amounts are charged to earnings ratably over the lease periods of &lt;span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_F7ZFnp-TpEq-nGa7S5yP7A"
      id="Narr_3AHKP3-Mf0OG7O46NIvQeA">P50Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:EquityMethodInvestmentsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_IGH_RtuEuUen2sLdKgNjMg">&lt;p style="font-family:'Times New Roman';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';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 are considered as return of investment, and the rest received amount are considered as return on investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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, 2017, 2018 and 2019, the Company recorded $3,686, $5,738 and nil impairment charges on its investments, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_pZTzTEGGukG23ZYnVHEbyQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3686000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_AU3BDMRR4ESIJkVvOoRTww"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5738000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_sSZyNxy-f0qKKW8wwjpm3g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_SgZAMb61w02jrdjIQtcz7g">&lt;p style="font-family:'Times New Roman';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';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 $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_1iqXDn0Tf022Tlsa3ICb1w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11626000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_1DL5Ypl8QEi72-ncY03jVQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30968000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_uec88muWKUms67n96XEzIQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:InterestCapitalizationPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ZEe7Y8cs6k2tXXMmT6LHHQ">&lt;p style="font-family:'Times New Roman';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_Ian7rVrO6UiqhvE00Gb2Aw">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain jurisdictions in which the Company's project 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's ARO included in solar power systems were $43 and $26 as of December 31, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:AssetRetirementObligationsPolicy>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_DBU69tbeB0ap7pqlGMEjug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43000</us-gaap:AssetRetirementObligation>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_FHWPQztdmUaPwXPiKO4E0g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26000</us-gaap:AssetRetirementObligation>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_cYl_9bcUn0-faRPku2FC1A">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective January 1, 2019, the Company adopted Accounting Standards Update ("ASU") No. 2016-02, Leases (Topic 842), as amended ("ASC 842") 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 ("ROU") 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';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';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';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 ("ROU") 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company'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 sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 income.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_eI9T1kr18UyurDefGg-N7A">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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';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;</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DjTDtkjK5USUpj6smWTHKQ">&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_f_A25HYeS0C0dKfgrgcwjg">&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power products and materials&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 reimbursements received from customers for shipping and handling costs. 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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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. As of December 31, 2018 and 2019, the Company had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. 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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;O&amp;amp;M services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M 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 services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;amp;M services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;EPC and development services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#x2019;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#x2019;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#x2019;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#x2019;s projects, including materials, labor, contingencies, and other system costs. 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 related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power 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 the Company obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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 conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $10.9 million, $4.7 million, and $3.9 million, respectively, related to electricity generated and recognized in revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information 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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table represents a disaggregation of revenue recognized at a point in time or over time:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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 colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,705,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,095,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,238,310&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,175&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,275&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,688&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,969&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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;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:56.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;br/&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December31,&lt;br/&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fluctuation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,782&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,405&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,723&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,318&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the year ended December 31, 2019, $62.0 million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $155.7 million as of December 31, 2019 are expected to be realized within one year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Practical Expedients and Exemptions&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies the new revenue standard 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 new revenue guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_TvJpH0SJtE-DtIo8F_DXEQ"
      decimals="-5"
      id="Narr_kY9SUXtQw0-yHeqDkvuuAg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9000000.0</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2019_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_mXmvI0l1EEeM5fFueacxQw"
      decimals="-5"
      id="Narr_9xIJIAmPNk2hIYTEsweFHA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7700000</us-gaap:InventoryNet>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_Soojqgr3cUKB2qyCL8yiyg"
      decimals="-5"
      id="Narr_fbOy9lLCtUmlS-z8ZrETgg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10900000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ZAWDmQFn9E6h6EhTX_7omQ"
      decimals="-5"
      id="Narr_7ORTE0V0uk6Xh84Qbj_FKg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4700000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw"
      decimals="-5"
      id="Narr_RckIIpxizU-ThT7oXDnX6Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3900000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_XKHLQYQxJk2gB43KMxB1FA">&lt;p style="font-family:'Times New Roman';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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 colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,705,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,095,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,238,310&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,175&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,275&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,688&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,969&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_QKxAMf0-RUuVnpa5Qx3uPQ"
      decimals="-3"
      id="Tc_ocADd6Q15kKaVq9tDiNhhg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2705985000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_GlG3OIvwy0uSqltQ5VaYKQ"
      decimals="-3"
      id="Tc_kd9lf52Gw0iCBtOoC9DYgA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2095743000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew"
      decimals="-3"
      id="Tc_h94i-cCNxkq4IeUaN1Pg3A_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2238310000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_xGoYbHVe-kWTZT4uU4a_yQ"
      decimals="-3"
      id="Tc_qQ2ktVDxYUWaAvhkIQHqZA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6938000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fPGbU_p6XkysfyIatvq8Qw"
      decimals="-3"
      id="Tc_BOCfdY7NDEWdN0S1CrFLSg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">73175000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fEC69IZKekeIix6zZJbfuw"
      decimals="-3"
      id="Tc_4XP0QZT4W0C8oCIY3ngrmg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242828000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_aDu_dfgu3ky_qZHc0wIUSQ"
      decimals="-3"
      id="Tc_LbIxNGmwvk2wHoIurQtcfQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">633195000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_vxEfED5fB0WIbLKJSQuPTg"
      decimals="-3"
      id="Tc_2OtApepN9EKosgXWOwocTg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1542906000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_4C5vV0JRf06kUycJ0C1Beg"
      decimals="-3"
      id="Tc_Eq4YcUMT-kinZMSymSsF_Q_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668476000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_sgvDmWqwaEuQg93l1PKZqA"
      decimals="-3"
      id="Tc_h2g5rdKhq0uGhjwFWmmMFw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44275000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ryBfuNTHlkGuLlfppM_PYw"
      decimals="-3"
      id="Tc_2_dRH44IWUG1ykoXkdAGAA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32688000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CDFN3rq2cEmAuhz7QKBAyw"
      decimals="-3"
      id="Tc_nRafzk7j1kWb_uYOBKPXyg_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50969000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Kc1UH4t5s0u2KJw24YQWGQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Xvhd0RqFz0WB8oz0_qQCIA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8nbBE6vu90mlcjY7mvFTxA_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_srRq954XqESWH_5zv2-ACA">&lt;p style="font-family:'Times New Roman';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;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:56.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;br/&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December31,&lt;br/&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fluctuation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,782&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,405&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,723&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,318&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_-fA-NU7SXkCb-4x7VBy65w_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4OPpusb8tkOvAMbkFlzjMg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15256000</us-gaap:UnbilledReceivablesCurrent>
    <csiq:IncreaseDecreaseInAccountsReceivablesUnbilled
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_zcnGUtaCckC95N5diMBvCQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15218000</csiq:IncreaseDecreaseInAccountsReceivablesUnbilled>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_4O4pF2RG2Uy6RGXm8WCJXQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39024000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_KBKA1Ur0fEy2-JB2V2qkPA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">134806000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <csiq:IncreaseDecreaseInAdvancesFromCustomers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0QzX1KYdWEmhUEUu_XqJKQ_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">95782000</csiq:IncreaseDecreaseInAdvancesFromCustomers>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_bDvZRLrpjkSUhF_vciQXbg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51381000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_5KuDhrMS3keKOKfcA7dRoQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20917000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:OtherCurrentLiabilitiesFluctuations
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fizBVhI3sU22QrFaGncgVg_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-30464000</csiq:OtherCurrentLiabilitiesFluctuations>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_87EajRlKR0iAf2K0g1BLDQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">90405000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_y1ThO5Ujq06eG8UWIj8Q_g_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">155723000</us-gaap:ContractWithCustomerLiability>
    <csiq:IncreaseDecreaseInContractLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_OoW2uoENMUqP91mt3T1rSg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65318000</csiq:IncreaseDecreaseInContractLiabilities>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-5"
      id="Narr_R64pYR6glEejj8U4m06BDA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62000000.0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ"
      decimals="-5"
      id="Narr_CEuxQ_T5L0yTQDNB-NtSAA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">155700000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ"
      id="Narr_G7cGX7z7DUuW8jMDgrXa9g">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DHiu7AwKuUykLdH4zmVyjQ">&lt;p style="font-family:'Times New Roman';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 costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $79,853, $69,855 and $88,079, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:3pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_KrpZ0JApM0atDRTxQ0MKkg"
      decimals="-3"
      id="Narr_OVkolovYtUKZOX_CukjPHw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">79853000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_X6HdNMxyLk6UYPVRb0alxA"
      decimals="-3"
      id="Narr_CaZwnash30KtzhVxI0F-5g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69855000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA"
      decimals="-3"
      id="Narr_p3VcyL0H_0-bftAxvENv_w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">88079000</us-gaap:SellingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DTSoS1JfU0q1uPM-3NC43Q">&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $28,777, $44,193 and $47,045 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_tGAaDwUBfEml3c3FkPgR7g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28777000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_ggVdOqp7b06paLx1LVVsZw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44193000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_V3X06S-FUEGbvT1J6ai45Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47045000</us-gaap:ResearchAndDevelopmentExpense>
    <csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ZGJLKTB8fE-mXW9fTXxMyQ">&lt;p style="font-family:'Times New Roman';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';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, and government grants received, and compensation from business interruption insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#x2019;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants 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';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';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (27,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (36,098)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,666)&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';font-size:10pt;margin:0pt;"&gt;Net loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,473)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,097)&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';font-size:10pt;margin:0pt;"&gt;Business interruption insurance 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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (44,546)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mTB2sA-zVU-7lTSdq2md1Q">&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (27,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (36,098)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,666)&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';font-size:10pt;margin:0pt;"&gt;Net loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,473)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,097)&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';font-size:10pt;margin:0pt;"&gt;Business interruption insurance 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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (44,546)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lwNk0Of5j0GmqRGPxxwcag_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27803000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rMqsW7YgrEqrj6jNlymxWQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">36098000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wh9dZdd-j0KzIvTs7poH7w_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1666000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__n8i7MB65EeE6ssHeRJjNg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1960000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_o51hLgoLzkayhlSReB7fvg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2565000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_iPLfGaAmLECIJwZOQL3qZQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1227000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_GrantMember_IyVp6WbfrEmmRnpLB78etw"
      decimals="-3"
      id="Tc_O680W_KDskaUBW_nHEIRRQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6473000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_GrantMember_2srcXON2jEuS-ffiEI4ABA"
      decimals="-3"
      id="Tc_q4iehGC_g0mPFgczWNOBfw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11013000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_GSLY653ToEWIvP0MwCXxPg"
      decimals="-3"
      id="Tc_ZNJ2wgoBlU6tzz-HEkoBEw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10097000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:GainOnBusinessInterruptionInsuranceRecovery
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_uLSULGG7KUKoHGYXHN0Tlg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15238000</us-gaap:GainOnBusinessInterruptionInsuranceRecovery>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cIW6dw2nSkGAT46IvAnYJw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47554000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_-ANu8VjtTky59k9s49w8oQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44546000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_9aeHZrLhK0WGT8yzK13bpA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10536000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_0cx_1zS89Uy5veFVWZTzXA">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before June 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 June 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In August 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';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';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';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 twelve 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For solar power 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 power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#x2019;s solar&#160;module product warranty policy, 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&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of one year. The unamortized carrying amount is $1,286 and $1,486 as of December 31, 2018 and 2019, 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';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';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';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';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';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';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 &lt;span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;25&lt;/span&gt;&lt;/span&gt; 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 will 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 $75,617 and $79,888 as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made downward adjustments to its accrued warranty costs of $1,446 and other non-current assets of $800, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $19,793, $13,188 and $28,044 are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:StandardProductWarrantyPolicy>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      id="Narr_jkJhYqBo1kmYN4R6FzvwTA">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      id="Narr_kJO3uD0a7U-oyzI0w8RGaw">P10Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      id="Narr_TN5VjgqnD0SYO0Rl94Nbzg">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      decimals="2"
      id="Narr_cgtOs1-eOEmr7ixTQmlEeg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      decimals="2"
      id="Narr_XLNDOiKIwUKSWZnXpTLVXQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_t8cQY5bAzU-yeV-sxSagdA"
      id="Narr_JNiPe8jn7EC_7KSdA8Pi-g">P6Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_MIQgX1VwqEybOAeurlaxHg"
      id="Narr_SnAGdNP2qkK8f5b-JKs5vA">P10Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_XhAYtJxcUkeQuRT0kk1amw"
      id="Narr_tpByK_fiMEC53bME5Cw1HA">P12Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_7rh37m38QEi6EfxAGudRHQ"
      id="Narr_JAs3jUib1EuVvsgX7vB_Dw">P25Y</csiq:InsurancePolicyTerm>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_gyvGzgoBPk6U5a_JhPV_mg"
      decimals="3"
      id="Narr_ycr0kDtC70OBnjdEHEGeNQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.975</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_e6D4t8_Q3k6-4Du3ukDoww"
      decimals="3"
      id="Narr_n3Va-n5pOU6Ub4fhYuslKg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.007</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_ovzvu2KUh0q2ohJZ4l8x7Q"
      decimals="3"
      id="Narr_BjS1NwGIq0KJHw_0UX2ynA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.807</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_GaiVxGQb-Ea-Pf708CGEmA"
      id="Narr_iSRSUa7m2kimhO8Om8acBQ">P30Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_bm-757FtQU68ZBQWkstNJQ"
      id="Narr_8gguWfQAxkme8TNUu1A3UQ">P10Y</csiq:StandardProductWarrantyPeriod>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_5obfnDzSYESUX6iZnqcgDg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.01</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_LqpZMl0SikKSyVwiKSvwoA">P1Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_2KOpfEZO1ECW5KHFaX43ng"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1286000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_9zEKANnuqUKlVJLBAnfx5Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1486000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      id="Narr_KMurX0j6hESTk6TkkFrb9w">P30Y</csiq:InsurancePolicyTerm>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_knvjv__99US4lAJjpQ3xBw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75617000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_r46Fw1na_EWtMxqPkHlnew"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">79888000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_miemmXa-CkWj3r_thGn1LA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1446000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <csiq:OtherNoncurrentAssetsAdjustment
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_Ou51d-oYQEq7-bHMsIxHwQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">800000</csiq:OtherNoncurrentAssetsAdjustment>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_6JkUQO9OD0yKJ2XjZQw9PA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19793000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_Wxof2A4UzEC8m4Ob1o_Lqg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13188000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_gh3YRSvLJESFtADz6y_8Ig"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28044000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_l9cwlbvsA0-_8Kc3KWyD7Q">&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 and Brazilian reals (&#x201c;BRL&#x201d;), 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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_SOBgQTtu3U29QkCJypCfYQ">&lt;p style="font-family:'Times New Roman';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_WIsBmFOA0EuihwtnPh3a8w">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, 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, including aluminum and silver paste, 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 and Japanese yen. 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, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;</csiq:ForeignCurrencyRiskPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_eevuNVUV-EWQXTCrbgllOg">&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company'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';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 doubtful accounts 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' 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's expectation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_AXt9SAnDUEuhkkgcr5KiWg">&lt;p style="font-family:'Times New Roman';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';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';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 for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_kNkqE0jLXE6VmsmiQB9g-A">&lt;p style="font-family:'Times New Roman';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';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';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';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';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb__nPIKehUMEG82tJTCPmTjA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Earnings (loss) per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) 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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_4oLlyDC0xE6-hFga8PECWQ">&lt;p style="font-family:'Times New Roman';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';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;), 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&#160;period.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_kt5kv_jPqkW2PLg6o-IFsA">&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In February 2016, the FASB issued ASU 2016-02, "Leases (Topic 842)", requires the recognition of right-of-use ("ROU") assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#x201c;Leases (Topic 842)&#x2014;Targeted Improvements&#x201d;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#x201c;package of three&#x201d;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;This adoption primarily affects the Company's leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use ("ROU") assets and lease liabilities on the balance sheet for operating leases of $33,829. 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 treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326)&#x201d;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#x201c;expected loss&#x201d; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework&#x2013;Changes to the Disclosure Requirements for Fair Value&#x201d;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2018, the FASB issued ASU 2018-17, &#x201c;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#x201d;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#x201c;ASU 2019-12&#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. ASU 2019-12 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 is currently evaluating ASU 2019-12 and its impact on its consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w"
      decimals="-3"
      id="Narr_QsIDYus2ZU6AZo0GS3fbag"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33829000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:AllowanceForCreditLossesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_er5wBCflKkWMa2tcauLzzA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3.&#160;ALLOWANCE FOR DOUBTFUL ACCOUNTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Allowance for doubtful accounts are comprised of allowances for accounts receivable trade, advances to&#160;suppliers and other receivables.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;An analysis of allowances for accounts receivable, trade for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,119&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,345&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 869&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,386)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (174)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (297)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (309)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,651&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (780)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,493)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;An analysis of allowances for advances to suppliers for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,527&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (833)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,287&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 738&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (123)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;An analysis of allowances for other receivables for the years ended December 31, 2017, 2018 and 2019 is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (175)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,919&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (470)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (192)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      id="Tb_qO3ujPwtl068I-T3gpQVbQ">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,119&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,345&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 869&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,386)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (174)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (297)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (309)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,651&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (780)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,493)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A"
      decimals="-3"
      id="Tc_94pLOJl3p0mhH5_KSJADmg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26119000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ"
      decimals="-3"
      id="Tc_Y2xCZV71z0OPCd7TwZmnYA_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32941000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ"
      decimals="-3"
      id="Tc_ZO5JkFUtjEaK_mOafvavbg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"
      decimals="-3"
      id="Tc_jYwn66_tlUiLxsCAit4-7g_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5345000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"
      decimals="-3"
      id="Tc_lvIgbWno-kKwoGbjcUpWHQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">869000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      decimals="-3"
      id="Tc_NyAmy2SzxUC4DbCTmVbHUw_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1386000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"
      decimals="-3"
      id="Tc_XWgzVASkx0uemEBx2pAWbA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">174000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"
      decimals="-3"
      id="Tc_hAtk6w0NrECH5LsvbxIvxQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">297000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      decimals="-3"
      id="Tc_kcD68A5O_kicJXggeAQZZg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">309000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"
      decimals="-3"
      id="Tc_YEsJL4XcsEuDAIbYMQ3XCg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1651000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"
      decimals="-3"
      id="Tc_eLFxjWcGvUOYuP5d0w64sQ_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-780000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      decimals="-3"
      id="Tc_4qnhX-h22EKSX-9FdddyMw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1493000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ"
      decimals="-3"
      id="Tc_f2Sll-fSw0eXwaT2s0ygHg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32941000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ"
      decimals="-3"
      id="Tc_sP2J1tertESXT1aXDJC-MQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5lpDB7_z30avE2UgNnsrpg"
      decimals="-3"
      id="Tc_K5UiFf8McUSfd-Kiv0jUmw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29545000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      id="Tb_ToenKxpPG0eJ0CSRSpAbhw">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,527&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (833)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,287&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 738&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (123)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_xssyVKCLdUyZfs-laxRgLg"
      decimals="-3"
      id="Tc_YnKt-wqVakWyI3C1YkK8dA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19527000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg"
      decimals="-3"
      id="Tc_nE3UNz-N8k-xg4AdFlxfzg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18762000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw"
      decimals="-3"
      id="Tc_kUrWt0qpPUmYPI9b6v2bOw_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20926000</us-gaap:ValuationAllowancesAndReservesBalance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A"
      decimals="-3"
      id="Tc_wPJVfryRIEqzpI5M_7fzbQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-833000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw"
      decimals="-3"
      id="Tc_YIsMpFPRJ0CkntrtYvMnJw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2287000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      decimals="-3"
      id="Tc_XysySH2ctEi-bMhkcfD0RQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">738000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      decimals="-3"
      id="Tc_FBzj0KAmMkaCJlXJBtke3g_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1452000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A"
      decimals="-3"
      id="Tc_iQXrSwCSekqOCqSm_VF8Fg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw"
      decimals="-3"
      id="Tc_C8FLroJu5EWfDKTt_gvwJw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-123000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      decimals="-3"
      id="Tc_I3VKV1YI0UudYHLCokUkyg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg"
      decimals="-3"
      id="Tc_sx_Xoj57fEa9yI3v_1c-wg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18762000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw"
      decimals="-3"
      id="Tc_DsGeLJVEw0u_m32XUKu7kw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20926000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_s7bHWbeGUUmQciZIb5al9A"
      decimals="-3"
      id="Tc_M84YHPiRF02TYQ37SZZvPA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20281000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"
      id="Tb_jz1PUvTylkmnDB15Xk6jvQ">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (175)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,919&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (470)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (192)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qqgz7TDEAEyfQkphhizXGw"
      decimals="-3"
      id="Tc_aHUXCv1zlEeTy7wD9niLpQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9251000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ"
      decimals="-3"
      id="Tc_eB6SoUW6yk6x11bXZQEVYg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10349000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA"
      decimals="-3"
      id="Tc_ARF0wzPQIEyc0oykRfkNZQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9704000</us-gaap:ValuationAllowancesAndReservesBalance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A"
      decimals="-3"
      id="Tc_3iSMaZos0UWonAUigp_Isg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">549000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow"
      decimals="-3"
      id="Tc_mLCjwEX9DE2YQIBtCcU-7Q_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-175000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"
      decimals="-3"
      id="Tc_3mFPJOZtkkORU5H9IdJIyQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1919000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A"
      decimals="-3"
      id="Tc_SeZRUbk1fkqwvEOpPixznw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">549000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow"
      decimals="-3"
      id="Tc_Lz23Ac2yV0mD6O68ydaqzQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-470000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"
      decimals="-3"
      id="Tc_hN1PTZ01Ak6c8ARZY88BxQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-192000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ"
      decimals="-3"
      id="Tc_roT9Ymh0lECu8wuKI-CGJw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10349000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA"
      decimals="-3"
      id="Tc_WAEJ19_6G0m-AeSp8f3odw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9704000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qpPI1Oh1oUibN5u0UaWsjA"
      decimals="-3"
      id="Tc_M9m-CY0OlkKSYotQugdpsQ_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11431000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_l52gUMOfUUKWzdnBlsn20w">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,759&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,722&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,817&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 167,446&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 404,243&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 262,022&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 554,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2017, 2018 and 2019, inventory was written down by $17,820, $14,646 and $19,447, respectively, to reflect the lower of cost and net realizable value.&lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_wshIUdwKSUWHTa9AUY_LaQ">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,759&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,722&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,817&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 167,446&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 404,243&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 262,022&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 554,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_R_6WW1864k2QYIeK8zIweA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47759000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MnKW8jW2wkOe5mBJSExCuA_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75722000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ObM2BMDzpEWjZFNqoar6iw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">46817000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_YdO7oBPSP0-434znL7vwjw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74105000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_oqCxUpUa-EyQn6osJsQBig_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">167446000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_0krxvki83k-pzj0FFmFj1g_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">404243000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_cMvZzNURhUiUUKnnP9zRvg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">262022000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vX2tRCvuGE-irrEiJ58hgQ_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">554070000</us-gaap:InventoryNet>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_kcsYkRURu0m7qUEEGrZ2wQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17820000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_5LhXQ6Hf-keFimZN2y3IYQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14646000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_ZSE44PRU9k-I-CAutwiFsA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19447000</us-gaap:InventoryWriteDown>
    <csiq:ProjectAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb__cz293t-lE-AAHxW6_kd6w">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Acquisition cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,234,128&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,031,976&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,285,763&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,087,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,563&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 352,200&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,051&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company recorded impairment charges and write-off for project assets of nil, $9,016 and $20,194 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</csiq:ProjectAssetsDisclosureTextBlock>
    <csiq:ScheduleOfProjectAssetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_x9coUkUtbEqQHjdTHwu5sw">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Acquisition cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,234,128&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,031,976&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,285,763&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,087,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,563&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 352,200&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,051&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfProjectAssetsTableTextBlock>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Te0C1L2ag0Wag10jNSL0-Q_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51635000</csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_78bxt5NVgku9jjwqMP-K0w_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55158000</csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_gHWcUqpZx0WU-0hfCAjYyg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1234128000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_DNjt1AeVfE-5UqZgGT1RzQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1031976000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_NGZTYUkQOkaLVmfyaB3Dww_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1285763000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_eFMgRby1pUKRsD9jSXOcNA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1087134000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_z-NMJn-4EUOGsMzQYBExtw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933563000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_8FjQBHGyz0aXWrdgudRzEA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">604083000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Uu4sbiYIKkmxMY8uXn0Byg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">352200000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_SE0l3KQz5ku3-YZNwgSM1Q_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">483051000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_aivO7Cj0PUq-NCmKuwBetA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_7d_sYD1-sUaIsWXm934Rnw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9016000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_yUVuYFEqikqABPlzJmWTrg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20194000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ZcymERfYxUGAjCTO9YBceg">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 441,975&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 453,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,058&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,225&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 785,874&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,074,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,135&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Land&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,810&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,451&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,329,952&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,633,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (489,927)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (598,297)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,503)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,437)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Subtotal&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 809,522&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989,582&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Construction in process&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,464&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,453&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 884,986&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,046,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation expense of property, plant and equipment was $88,931, $120,834 and $148,034 for the years ended December 31, 2017, 2018 and 2019, 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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_hoBCqG4XIkCpQpAjW8pGLg">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 441,975&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 453,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,058&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,225&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 785,874&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,074,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,135&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Land&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,810&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,451&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,329,952&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,633,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (489,927)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (598,297)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,503)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,437)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Subtotal&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 809,522&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989,582&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Construction in process&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,464&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,453&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 884,986&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,046,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_73Du0plvqkiawKwqIzGOGg"
      decimals="-3"
      id="Tc__YTGed_z3E6DXU1xneKt2Q_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">441975000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_GmK6ZhYAyUi6cHKvxVmutA"
      decimals="-3"
      id="Tc_itEGF6riBk2w7bLmPDbzkQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">453712000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_f23kuwYC1kSUyMEzckDNDw"
      decimals="-3"
      id="Tc_K37-eI60nkGj60x6UwjoDw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13058000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_TFQxLmDgpU6Abr3M6KeTqA"
      decimals="-3"
      id="Tc_CMV9ob3VJkaEZF4X7saKZA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14225000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_zEWZcmjnkEGNpRkscYszFQ"
      decimals="-3"
      id="Tc_BQXvYRV2MEWI1CvEqsrQFA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">785874000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_9nSd53ws90GOLDtJ9RZaQQ"
      decimals="-3"
      id="Tc_8UWcjM7GzUyd2RcgASetkw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1074460000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_fg65wBq9OEmHr2oisAXdGQ"
      decimals="-3"
      id="Tc_e418Bsyq9U-k2Tmnykd30A_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64135000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_XVRtc1OvPUGFBVrUd_vkSw"
      decimals="-3"
      id="Tc_QFbkLXeRzUmsU5uCYLL6EA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64117000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_RLUT85lMikOg6iM3_9GsDw"
      decimals="-3"
      id="Tc_tS2Qe_5aBE6SLbrJcDBkQg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6100000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_B1LeOq-rGUmqf5I8JC8q0g"
      decimals="-3"
      id="Tc_l7C4OFfpIkOMO8VFg6dyrg_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6351000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dzJaDJrpCUiB_VVzFGUM9Q"
      decimals="-3"
      id="Tc_mpGSza-Wqk6DNJZEoWdJvw_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18810000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_qlK4e-1Bd0i9oV_AQt6GZQ"
      decimals="-3"
      id="Tc_irJUsViNnEGUESXpCAS9qQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20451000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_dDD-5L-CgUGA7rgKJnfiiQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1329952000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_K1KX3GUsdE2iRUIjOeql5g_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1633316000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_aY-WBxrIekmO1QhxKWU0ow_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">489927000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZMLCoEQjEUK34LkM5l2XKQ_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">598297000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <csiq:AccumulatedAssetImpairmentCharges
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_wT1jJoO_K0ui91w32g2t0g_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30503000</csiq:AccumulatedAssetImpairmentCharges>
    <csiq:AccumulatedAssetImpairmentCharges
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_IX6OYUXn70OjTVjXRVchkw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45437000</csiq:AccumulatedAssetImpairmentCharges>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_24cQKI1IY0ibhmy5YDqcgg_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">809522000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_VWeHFRpm0k-XsrjHhBOofg_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">989582000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_6ccR67fGAkK6O1IHRDmj5w_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75464000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_sClpR4wbt0O9tSza3NcAEA_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56453000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_JfNlNt7hJEmiShKZE0qXkQ_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">884986000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_f2aKh-33y0itm0rtrQpPfw_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1046035000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_YMVTFnQGrE2WZWMaTNF2Dw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">88931000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_Jurd2NCF1062Y7PmWGPQMQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">120834000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_oWjZNNhPxUqEB60I5T4yAA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">148034000</us-gaap:Depreciation>
    <csiq:SolarPowerSystemsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_-tmxj6qQPkeu97xyp-borw">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,641&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,484&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,830&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (22,322)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,898&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Depreciation expense of solar power systems was $5,683, $3,756 and $6,379 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</csiq:SolarPowerSystemsTextBlock>
    <csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_6KrP4rBmp0aKpiUH4J14Qg">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,641&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,484&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,830&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (22,322)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,898&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_f4MtRWEu2U-HkSSZiE7hHQ"
      decimals="-3"
      id="Tc_5TxlDsnxVECuZubNRjp5ig_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66641000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_vYOHebeiJ0eGj6XPOERzxA"
      decimals="-3"
      id="Tc_bm7_X0S950WNTH0O_EAxEw_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70449000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_7qu8sGJfDkWFDX8HCOXxIg"
      decimals="-3"
      id="Tc_g8AfH4LzNkyQPuBOce79vQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4484000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_6UpYfub3BUGWytj8LnT_5A"
      decimals="-3"
      id="Tc_MC7taacQHESOFj2D2G0sOg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4830000</csiq:SolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Z3iRwjxM-kyWzIX--9U1nw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16227000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_N7VuqvssIEGf9e2PSl_bnQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22322000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UuT-lRBC8UCyzEJ9w-Z5sg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">54898000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MAknqQi3-Em0vapoPqHXWg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">52957000</csiq:SolarPowerSystems>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-I3Bne7KJUiW8JUykJbA3g"
      decimals="-3"
      id="Narr_f7QtOFxMikq7rN3EXcbFLg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5683000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_XeAS5nO-GkW-gpPwSZVHmw"
      decimals="-3"
      id="Narr_vkXGZM87_EO6RbhQxxBMow"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3756000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V3meU-7P10KA5q68VsFk0g"
      decimals="-3"
      id="Narr_jJlvc4Ki-UG6klM7Ys2ylw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6379000</us-gaap:Depreciation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_nH6u-ibBcU6KY-hxhxIjbg">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,428&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,425)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,205&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,417)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,788&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,633&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,791&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,369&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,458)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,882&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,890)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,348)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,903&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Amortization expense for the years ended December 31, 2017, 2018 and 2019 were $4,659, $4,666 and $5,310, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Amortization expenses of the above intangible assets are expected to be approximately $4.4&#160;million, $3.6&#160;million, $3.1&#160;million, $2.5&#160;million and $9.2&#160;million for the years ended December&#160;31, 2020, 2021, 2022, 2023, 2024 and thereafter, respectively.&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_UoDWHjSpMkWAD-2PnvMJ6w">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,428&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,425)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,205&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,417)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,788&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,633&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,791&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,369&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,458)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,882&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,890)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,348)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,903&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"
      decimals="-3"
      id="Tc_cQM2vn-EbUOU0ZXWTvHWqA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1428000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"
      decimals="-3"
      id="Tc_uCY9XiS3cUmTj-1c1bmZWQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1425000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"
      decimals="-3"
      id="Tc_WgwN9e2m_E2gwi1P71fBKg_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"
      decimals="-3"
      id="Tc_jHuVDM3L5USst35ajaTlVA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38205000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"
      decimals="-3"
      id="Tc_wQ8Wu3L58E-TfGNza9RmGg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15417000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"
      decimals="-3"
      id="Tc_bddl621HsUyawVaQZSkR0A_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22788000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZnO_m2h820GcKU7DYHMOKw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39633000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_yhMQF9zSgUakW7XborvBzg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16842000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_JRMmzdQbcUWER4YfkdYIGw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22791000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"
      decimals="-3"
      id="Tc_NEXsyT3B4kepSkGqVV-m5g_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2369000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"
      decimals="-3"
      id="Tc_1SJoKjsHbU-2ksHeCjPoMw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1458000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"
      decimals="-3"
      id="Tc_EigpJ3hYEUKhatpb6y3ZsA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">911000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"
      decimals="-3"
      id="Tc_SjM6SIYct0iaqzXzmCGl0Q_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25882000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"
      decimals="-3"
      id="Tc_5dy8SZCK8UqA13mUx0zktQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11890000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"
      decimals="-3"
      id="Tc_zih0kJeNVkmj0ybr8hMjOw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13992000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_iApA0LaivESNI_3e7Nl7Rg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28251000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_rKSZ6OMlak6anokW9KlrZw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13348000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_7Lu3QVvoTkSM2E2W1pgKxg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14903000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_gOanakeNWUqNhtu3VncTWw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4659000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_8auq1bBEPkSlWwjuxtdVNQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4666000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_jIbLJ1TX8USCKmwKlfNsUQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5310000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_YDESMPTNXUOaRka_-jUUIw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_umNM078z_k67bLT909IXRw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3600000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_NpD--eduQ0SrFEoblrNZJw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_fMaEAfhrq0iPuqho5PFOYw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2500000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_MvW2CuET6ku7xENK6CrWkA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9200000</csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DIiu5yG6nkKuj9U_IHgEiQ">&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2018 and 2019, 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, which are Level 2 inputs. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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';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, Canadian dollars, British pounds, and Japanese yen. 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&#160;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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest rate swap&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;During the year ended December 31, 2016, the Company entered into fixed for floating interest rate swaps with two financial institutions to hedge the interest rate risk on its project debts obtained in the United Kingdom with notional amount totaling GBP78.4 million ($96.8 million), which will expire between 2033 and 2034. The interest rate swaps had been designated as cash flow hedges for accounting purposes. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018, the UK projects were sold and the interest rate swaps were assumed by the third party buyer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The interest rate swap contracts of total notional amounts of approximately $399.0 million were entered into for Recurrent projects and designated as cash flow hedges. The interest rate swap contracts were transferred along with the sale of the underlying projects, and the fair value of the remaining swap contract representing a notional amount of approximately $47.4 million entered into for Roserock project loan was recorded as derivative liabilities of $2,170 on the balance sheet as of December 31, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The estimated fair value of interest rate swaps was measured based on observable market data, which are considered Level 2 inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2018 and 2019 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2017, 2018 and 2019 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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:31.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,166&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,097&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 450&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,977&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;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:26.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,480&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 329&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,698&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,322&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,638)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (16,414)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (20,249)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,023)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,022)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Warrants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 711&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (793)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (947)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (272)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (19,230)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,218)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company recorded impairment charges for certain manufacturing asset group of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, 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 the MSS segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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, accounts payables, short-term notes payable, amounts due to related parties and short-term borrowings approximate their fair values due to the short-term maturity of these instruments. Long-term borrowings were $393,614 and $619,477 as of December 31, 2018 and 2019, 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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The carrying value of the Company&#x2019;s outstanding convertible notes was $127.4 million and nil as of December 31, 2018 and 2019, respectively, which approximates the fair value.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <csiq:InterestRateSwapsNumberOfFinancialInstitutions
      contextRef="Duration_1_1_2016_To_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_83pBn5QsOkCv9_yelZJGtw"
      decimals="INF"
      id="Narr_JWioFGEcuUaJ1ITLh-ZArA"
      unitRef="Unit_Standard_Institution_s8f8AkKbRUGRIp83T9dPtA">2</csiq:InterestRateSwapsNumberOfFinancialInstitutions>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA"
      decimals="5"
      id="Narr_KfLZXPRD30uBYu0sRp064A"
      unitRef="Unit_Standard_GBP_Dc2Gdnkog0-JfFMrmYG68g">78400000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA"
      decimals="-5"
      id="Narr_t7RnkBGU4ki8lVpV3iTXMQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">96800000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_2P1MxjUaxE-zr9CuDsznLg"
      decimals="5"
      id="Narr_sY19oZtjRkOIbW7VnHWG0g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">399000000.0</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg"
      decimals="-5"
      id="Narr_JaHd2qXQLU69tE778lQkTw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47400000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg"
      decimals="-3"
      id="Narr_l4BXY6ijdUisT6vHC0y-tg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2170000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_4634U-HIh0O-w-PW5HD8EA">&lt;p style="font-family:'Times New Roman';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;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:31.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,166&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,097&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 450&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,977&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;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:26.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,480&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 329&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,698&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,322&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OJdIjAijS0K6Qrc47uH1tQ"
      decimals="-3"
      id="Tc_Y7yXqGWYgUW2pZg1h_hz3Q_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4166000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_86xcdACTLUif_r6p94OxHQ"
      decimals="-3"
      id="Tc_-cFE0ZhZUU-pOePj3cNdCg_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5097000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_zugAsS9LjE2wufdZ6ofbPg"
      decimals="-3"
      id="Tc_782ucWBJlkqpSugrr-Hirg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ALYSHxr72kGVWkgQRImQ1w"
      decimals="-3"
      id="Tc_8E_iS3iQvkmST8czz5SSCg_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">450000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_WIbc_F7jLUKmdSmAPmFjUA"
      decimals="-3"
      id="Tc_FTSRS_sV702_foBz4FyqTA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">594000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_HZa1K7Qq1UaU_k67pukp5w"
      decimals="-3"
      id="Tc_LRBgA--tN0680m9XcboavQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3216000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ"
      decimals="-3"
      id="Tc_6mklq-H4JkOoROymugAyFQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7977000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ"
      decimals="-3"
      id="Tc_k2qCA33SXke2ETs1sllVzw_9_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5547000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_V6D2k0G1CkivzsJ26fwRMQ"
      decimals="-3"
      id="Tc_jz5Hyc97UEOEo4zY9r2QwQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13480000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ACJRmqa3tEiWpgv_X_4yzA"
      decimals="-3"
      id="Tc_GzDPgzqGCkK9CzfhOLA7ZQ_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10127000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD3kvwSK5kaoJ8oD1jmSZA"
      decimals="-3"
      id="Tc_yt4m9sMksEygewPdAVZ2eA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">218000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Lht7gLwOlkyRnARoUEadvQ"
      decimals="-3"
      id="Tc_IgkB-kLeDkOahqRXqnJ7Zw_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_E96IprHxEU-HXPo_yPXOEw"
      decimals="-3"
      id="Tc_2xOvGA2JLkKXGBwyQ-bJoA_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">329000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_i5m7ctdmwEqFUFFiBLJFzA"
      decimals="-3"
      id="Tc_ud7yqY8cKkCq6n6-PPnXPA_8_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1841000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ"
      decimals="-3"
      id="Tc_rv5EQMWOvECKoG3sMmfZfg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13698000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ"
      decimals="-3"
      id="Tc_S9yVwSQSJEqh488y3r3wIQ_9_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12322000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_o4tV5cg6-UeRdi06aMZx6A">&lt;p style="font-family:'Times New Roman';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,638)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (16,414)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (20,249)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,023)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,022)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Warrants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 711&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (793)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (947)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (272)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (19,230)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,218)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_zLx4eDqeIUmirrjXr6DE5g"
      decimals="-3"
      id="Tc_kK1ho7Lk1UOT1mbpWwxFfA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2638000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_7MwrSxG1zE6KO4Ty0Eaapg"
      decimals="-3"
      id="Tc_10RMO_4rQUybMzGzg_uKgw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-16414000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_uhx8jb_DpU2wiJcNn3l0Pg"
      decimals="-3"
      id="Tc_0brIhgPPYEaTK4NsWnxjhQ_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-20249000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_eyAcrO_73kexw3dXrjeWfA"
      decimals="-3"
      id="Tc_srt6kJ23gEOUS0DXnUvTcQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2023000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_cGXa-9vzCkm-xGQTAMbWhQ"
      decimals="-3"
      id="Tc_6E0Ty30Zv0aU9_O2wcilEg_8_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1022000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_csiq_WarrantsMember_m0nbIynUtUiAV34r6IGW_w"
      decimals="-3"
      id="Tc_-_vPh3yJDkWx4gz6rQdX-w_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">711000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_W6uTe13AW0qQxfTXx4T11Q"
      decimals="-3"
      id="Tc_dY_PI88gLkqMNFOyaj_KkQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1655000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_2_qkaxWROEyxRADTMrU6tA"
      decimals="-3"
      id="Tc_mJHlG7-ZwUyCLMM9p8yRPA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-793000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZI0GHubZiEeh_RMUN13OLw"
      decimals="-3"
      id="Tc_GRFaFoCa-ES_hzFDZnLMPg_10_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-947000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cEYeoStqLUG64gFZBLHp1A_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-272000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Bz6AyrmeCkeYjzdL5Ue4Nw_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-19230000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_C6SnXj_A7E-CwJzd13vDEg_11_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-22218000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_pAa81lVLlE67sC4ZVr-sxA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11626000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_FLpDza6_l0OdAj3I_mNmOg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30968000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_fE3IjBs7qkqOep94HZ1zDg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_y6lc4MlIFUu13yIxUkTeXQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">393614000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_4_MCOvG7cUec3gbYAJPJpQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-5"
      id="Narr_mRpjFEwzWkS9ItbOdTeBbA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127400000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr__LT_83KMqUq648u5luRxGg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:VariableInterestEntityDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_AjQyJS-xHE2uOHP0jtlALQ">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Since 2016, the Company, through its wholly owned subsidiary, CSE Japan Investment Company Limited, entered into silent partnership agreements with various Japan project companies, for the purpose of raising project finance bonds arranged by Goldman Sachs Japan Co., Ltd. Under the silent partnership agreements, the project entities are considered VIEs in which the Company has no 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 Canadian Solar Project K.K, a subsidiary of the Group. 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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2018 and 2019, 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 sheet are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,448&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,836&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,102&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 207,284&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin: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:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin: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:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,160&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,708&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,973&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,476&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,569&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total 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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,277&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Net income and overall cash flow activities during the year are immaterial to the consolidated financial statements.&lt;/p&gt;</us-gaap:VariableInterestEntityDisclosureTextBlock>
    <us-gaap:ScheduleOfVariableInterestEntitiesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_vnE1DNflGkmMy_mllmtC9w">&lt;p style="font-family:'Times New Roman';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,448&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,836&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,102&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 207,284&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin: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:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin: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:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,160&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,708&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,973&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,476&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,569&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total 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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,277&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfVariableInterestEntitiesTextBlock>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc__EhCY3ifTUWAqXfY3JUBpw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">185448000</csiq:ProjectAssets>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_CiEQi9O-ykqhXqiOqe3FYQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">197366000</csiq:ProjectAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_nB538ku0xUebiLExJgJ-Ww_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21836000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_l6Cm9a1AbEyCNnPK0aEqsw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26102000</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_DM0-eqLdS0yt_puGNABF8w_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">207284000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_Zw6GxQMh_ESH6apEZijjlA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">223468000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_wSKbLXNn10GfQfL5z68eDw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9160000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_Z2ySeTOeW028GdNGKVk4UA_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">139708000</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_8PoC2ynWYEOA7tQoVZAdPg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">113973000</us-gaap:LongTermDebt>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_qMRzqBiJS0iGbhewBVTf7g_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">59476000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_3tv3TbrZTk67SFMNN28maA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66569000</us-gaap:OtherLiabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_7r7nmcl-uEiDUBWxIma1Lg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">182609000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_oP-SdY6jO06epOiQm8VHqw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">206277000</us-gaap:Liabilities>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_8YWTnGZC1kWIbkwGjA_SvA">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;RE Roserock Holdings LLC (&#x201c;Roserock&#x201d;)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,034&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.66&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Suzhou Financial Leasing Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,361&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,050&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,977&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;21-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,582&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 126,095&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,828&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Tax equity transactions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2015, the Company, through its wholly owned subsidiary, Recurrent, entered into the following tax equity transactions: &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2015, the Company completed the sale of 100% of the class A membership interests of RE Roserock Holdings LLC, the holding company of the Roserock project companies, to Southern. The Company maintains 100% ownership in the class B membership interests of RE Roserock Holdings LLC. Southern paid the Company an initial contribution of $45 million in cash for the class A membership interests in RE Roserock Holdings LLC.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Under the LLC agreements, the class A membership interests and class B membership interests will receive 51% and 49%, respectively, of future cash flow distributions, and Southern is entitled to substantially all of the projects&#x2019; federal tax benefits.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective with the sale of the class A membership interests, the Company ceased having controlling financial interests in Roserock, and accounted for the transactions as partial sales of real estates under ASC360-20 when the transactions incurred in 2015. The Company also considered that it would continue to exercise significant influences over its retained interests in and has accounted for these interests pursuant to the equity method of accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Under this method, the Company recognizes its equity in earnings attributable to class B membership interests according to its proportionate share of investees&#x2019; operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees&#x2019; net assets over the estimated lives of the related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In December 2018, the Company wrote down the class B membership interests in Roserock project to its anticipated resell value by $5.0 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other investments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 8, 2015, SZSP established an entity, Suzhou Financial Leasing Co., Ltd., for cash consideration of $13,860, in which the Company holds 6% voting interests. One of five board members is designated by SZSP and, as such SZSP 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On October 26, 2017, Canadian Solar Infrastructure Fund, Inc. ("CSIF") priced its initial public offering. As of December 31, 2018 and 2019, the Company owned 14.66% of total units of CSIF. 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 presents.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In September 2018, the Company made full impairment charge of $0.7 million on investment in eNow, Inc., in which the Company holds 10% voting interests, due to deterioration of the investee&#x2019;s financial position.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Equity in earnings of unconsolidated investees were $9,411, $5,908 and $28,948 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NUeu86Bl_ki-MROYrFJ7Rw">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;RE Roserock Holdings LLC (&#x201c;Roserock&#x201d;)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,034&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.66&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Suzhou Financial Leasing Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,361&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,050&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,977&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;21-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,582&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 126,095&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,828&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng"
      decimals="-3"
      id="Tc_3xvPDW2uN0a7z6t0VhAsTQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62767000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng"
      decimals="2"
      id="Tc__n1kOcK-Mk-vDbTnbx3UPQ_6_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA"
      decimals="-3"
      id="Tc_UcxUfz4ca0i6XZ--afiq9Q_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">83034000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA"
      decimals="2"
      id="Tc_ZNyCfjHMcUOV-XJhEBZrhw_6_8"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"
      decimals="-3"
      id="Tc_XSxnv8QfJEOJNIGDsjoScQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23990000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"
      decimals="4"
      id="Tc_iQGvBfR-dUa2SelqOdxIdg_7_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"
      decimals="-3"
      id="Tc_1PGNAoNBfEW-_0r1CR0vqg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19162000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"
      decimals="4"
      id="Tc_7Slzn8yrDUmz00VQgIZRBg_7_8"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA"
      decimals="-3"
      id="Tc_FLnVMFLaMUi1HDjK9V8wdw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14361000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA"
      decimals="2"
      id="Tc_ZYyD-WM1n0211eEaNZsKrA_8_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ"
      decimals="-3"
      id="Tc_CBLMUgqOr0WhHwOzoDqRyQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16050000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ"
      decimals="2"
      id="Tc_2GdxbOEMJUGNuN5QsdSKrA_8_8"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_hIkB5vi1X0-Px0z6AeNOvA"
      decimals="-3"
      id="Tc_ArID_REiUE2aBwUli2gLlg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24977000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KMuBise7OUOQiRB4yNOb0A"
      decimals="2"
      id="Narr_RFofDR4d3UOmF1-mjY7OQw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.21</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KhP7w9NlGUuayLs6labngg"
      decimals="INF"
      id="Narr_AxUKVZYg4Ei4sbthblOOGw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_a2uc7kYqWkme20DzcCAvFw"
      decimals="-3"
      id="Tc_QrcghpVqVUCLC4pN_Mw4IA_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">34582000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_URLU5YKbh0Kyytn66vXQJA"
      decimals="INF"
      id="Narr_3duGn8GeY0m_cosi3u8JWQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.15</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_XKBDabUyW0CD8iogaTXkQg"
      decimals="INF"
      id="Narr_f2EE2fvRLUCHnwRpkkFNDg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Ypi30_Q_hEK4VCadgEqF8g_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">126095000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vS4508dUmkSB2AXu36nMrw_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">152828000</us-gaap:EquityMethodInvestments>
    <csiq:EquityMethodInvestmentOwnershipPercentageSold
      contextRef="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA"
      decimals="INF"
      id="Narr_59FV5g-2Jk-trGn-PvD-aQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</csiq:EquityMethodInvestmentOwnershipPercentageSold>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_atfeGdwVF0mBEc7vyhZd6w"
      decimals="INF"
      id="Narr_yQpGdkNMhkeLG2RACFXQhw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ProceedsFromSaleOfInvestmentProjects
      contextRef="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA"
      decimals="-6"
      id="Narr_oE9RNppZvkybcUvB2yX9Bw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45000000</us-gaap:ProceedsFromSaleOfInvestmentProjects>
    <csiq:CashFlowDistributionPercentage
      contextRef="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg"
      decimals="2"
      id="Narr_EDwsWOETD06KDwGxNLtiJw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.51</csiq:CashFlowDistributionPercentage>
    <csiq:CashFlowDistributionPercentage
      contextRef="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_PNsHc0u5PkCTT9zn-4EF_Q"
      decimals="2"
      id="Narr_R4exG98lvkC922Diy8M8kA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</csiq:CashFlowDistributionPercentage>
    <us-gaap:EquityMethodInvestmentOtherThanTemporaryImpairment
      contextRef="Duration_12_1_2018_To_12_31_2018_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_Wy0k8Dw-q0OGQJ8s6C-rYA"
      decimals="-5"
      id="Narr_C53nnIe9JEeTQBcUzYwPJA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5000000.0</us-gaap:EquityMethodInvestmentOtherThanTemporaryImpairment>
    <us-gaap:PaymentsToAcquireInterestInJointVenture
      contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"
      decimals="-3"
      id="Narr_3US30NhTJE6gpMkCoEh7-g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13860000</us-gaap:PaymentsToAcquireInterestInJointVenture>
    <csiq:CostMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_zoofUt6-skKcJlyAiZZvVg"
      decimals="2"
      id="Narr_1AlysnRd3Eavoawgeh7eug"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</csiq:CostMethodInvestmentOwnershipPercentage>
    <csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity
      contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"
      decimals="INF"
      id="Narr_1rDtsUMsCkuaFM7n35NPmQ"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">1</csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity>
    <csiq:NumberOfBoardMembers
      contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"
      decimals="INF"
      id="Narr_vNeR4tQsUEeim0X2J4ZX7Q"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">5</csiq:NumberOfBoardMembers>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"
      decimals="4"
      id="Narr_Kb66TJQJLECoa_Jpt26xig"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"
      decimals="4"
      id="Narr_F2LZNDHIc0W5l9jupUf_5A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_9_1_2018_To_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_L3kCVTNU-UOX58ThrnFpqw"
      decimals="-5"
      id="Narr_IkH8Sp7BREWbyODdUcl-vQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">700000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_xpU4nJdTK02J6qL3DLUAXA"
      decimals="2"
      id="Narr_28mCYGmajEmJJpNohIjcsA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_ifl0Lb7gw0m80299TwoIsw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9411000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_hHiLJ8qfAk-kjCm5XAXukg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5908000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_XJGDb__G_EWrCtn4xx9YFw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NXnSH5WVuUuqOWD_DWvY_A">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company leases office space, office equipment, vehicles, spaces for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets mainly locate in China, United States, Japan, German, and Italy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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 balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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;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:82.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finance lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Amortization of right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,900&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest on lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,920&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,916&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The operating lease expenses were $20.9 million and $19.8 million for the years ended December 31, 2018, and 2017, respectively. Finance lease expenses were $24.7 million and $19.1 million for the years ended December 31, 2018 and 2017, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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;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:82.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,866)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Financing cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,614)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,300&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;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:81.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;1.41&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;3.03&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of operating lease discount rate - operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.36&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2019, maturities of operating and finance lease liabilities up to five years were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,953&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,392&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,087&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,666&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,721&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,130&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,851&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,236&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,056&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,292&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,765&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,718&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,076&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,287&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,945&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,232&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,790&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,483&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,273&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,379&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,842&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 556&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,522&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,826&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Group_ES9bMXHopE2qV0sSKMYVaQ">&lt;table style="border-collapse:collapse;font-size:16pt;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:82.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finance lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Amortization of right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,900&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest on lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,920&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,916&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_oh0jLZEc-0uDvEfan1RPLA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18900000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_jkLAcXVuYkubo27BArWyIQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3213000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_LN_r_zZ-3keQYXxobPSuBQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17619000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_J8zu5CQLVESSv0tP0gywNA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8920000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_hBJ4c0Rw7E6qQz7vee0ymA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45916000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-5"
      id="Narr_F2MGpPfRgEiP1ApVP7jfQQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20900000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-5"
      id="Narr_AA0hMSKmYkC5puhn7sT4KA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19800000</us-gaap:OperatingLeaseExpense>
    <csiq:FinanceLeaseExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-5"
      id="Narr_wLeAY6_KekWVX8deTFbujQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24700000</csiq:FinanceLeaseExpense>
    <csiq:FinanceLeaseExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-5"
      id="Narr_FqB7IhkUakWnHgp3wtnH2g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19100000</csiq:FinanceLeaseExpense>
    <csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_pZl-hdRkak6yCcVDhb-OKA">&lt;p style="font-family:'Times New Roman';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;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:82.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,866)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Financing cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,614)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,300&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;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:81.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&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="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;1.41&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;3.03&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of operating lease discount rate - operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.36&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ntrRRN3GMkCAplNkR_KiLg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3213000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Es7hMR3lWEuAa0ghsPztGg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15866000</us-gaap:OperatingLeasePayments>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_clHJx-3Fk0KHR0zJ1I0y1Q_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33614000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_PW89APgjhkyFhsIFbneXFg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7300000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_P0NxwblZtE2O8DasZtBKVg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18222000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Tc_hwVKXGyKJk2R0s_Lvfselg_6_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0582</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Tc_LGqWe8y730qaOn1qKTBzQQ_7_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0436</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_oTwNtH6fSEa4H2xnJp_lgw">&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,953&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,392&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,087&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,666&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,721&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,130&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,851&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,236&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,056&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,292&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,765&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,718&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,076&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_6iMv2xc2zEGO_duj0fvptg_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18953000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Ghl_7_nIdkebGTYcH71ZSw_3_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27439000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <csiq:LesseeLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_DBt63Qe4HEKXS2VmcTDDQQ_3_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">46392000</csiq:LesseeLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_v4licqNCc0KTihHFJHlMUw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12980000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ae4raBMkikSFDITuvhdAAg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13087000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <csiq:LesseeLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HwF8nyHt2kadSoyS93uvPA_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26066000</csiq:LesseeLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_KPjpibGMiUevsSHmlAPGQw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4666000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_tU6zxdguiEmL0iFEdtMWNA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">604000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <csiq:LesseeLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_2w6KVQmb0kWuovYDHgEvWA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5270000</csiq:LesseeLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_pp7AWfix2EeE8qqvVhT5WA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2541000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <csiq:LesseeLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_6nHjKoWiT0qYBYjk_Du5eQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2541000</csiq:LesseeLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_AMvbKH0ZbEKtKpzBVg4fjg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1077000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <csiq:LesseeLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_-Zc94n2xKUq9baLeSnTnIw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1077000</csiq:LesseeLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MawF9KcBI0aWE7fR_02-yw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1504000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <csiq:LesseeLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4xJhYyFFlEigYnvCHSHmsA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1504000</csiq:LesseeLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_a96HhPxAmEK_KmGjkprSow_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41721000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_muv0phNVB0y8H9OkUpoejg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41130000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <csiq:LesseeLiabilityPaymentsDue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_2SHxwvGtrEihwM22meEj9g_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">82851000</csiq:LesseeLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_-Whxi-BRqEyDz1jxAY2dKw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2236000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_P51EY9m2AkiBSMkH2r6WOQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2056000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <csiq:LesseeLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_-jBIZ5qFLEyAC3_n5xMScA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4292000</csiq:LesseeLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Mpdw9TN4SEWLOam9QlVlZQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39485000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_q4vVN3elDUigeoflvGNeFQ_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39074000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__yE-J60CV02FYOUF6KO1ug_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">78559000</csiq:LeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZPOkdy86RkaREkg0JHpCDg_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18767000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_cyzecY45OEmitlTxOSA20w_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25998000</us-gaap:FinanceLeaseLiabilityCurrent>
    <csiq:LeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aaNGxT8OKkCRhATZMGX9mQ_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44765000</csiq:LeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_tobJO1tGdEOFGsz-gkeBow_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20718000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZoREB2_eNUWKrkqCP2CwjQ_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13076000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <csiq:LeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aiUAl0asgUewNLfDQPmYWg_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33794000</csiq:LeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jGDDpQU90UC7JrOR1rUljw_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39485000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_VTnyDUYtFk676G_-Tyl65g_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39074000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_N7HLTi_JhUOl2Q7q5bxldA_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">78559000</csiq:LeaseLiability>
    <csiq:ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_Z6jygwY-gkao9YH72ISrEQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,287&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,945&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,232&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,790&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,483&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,273&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,379&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,842&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 556&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,522&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,826&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_lNGnB3M24Ear0FpVLDMVrg_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18287000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ujIuofDQVUiqS7o7LR6pLQ_3_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40945000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent>
    <csiq:LeasesFutureMinimumLeasePaymentsDueCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_PhPTEkt2IEesNF3BXo6iCw_3_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">59232000</csiq:LeasesFutureMinimumLeasePaymentsDueCurrent>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_l_wsj1vgTUOpROpIuAicMw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11790000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zv4XhI4wrk2pr59d3Hz5Yg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23483000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ALib8YCLWk-5nQtcraCEyQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35273000</csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_8ejAoHJGFUO4tjB1YG37lA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9379000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_6KlZ1Y0jU0mA0o1XuHldFA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11842000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_uA4OvsThQkW9mpGFBKurFg_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21221000</csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_9JIB4zgyCUyLqn6ktX5DDg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2485000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_QeH7MKI92UKaG8HLOzqlKA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">556000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_S9S7ei1ps0WisxaRF4IAkQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3041000</csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_RX8ynaJpik6GTdlIibtwrA_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">838000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UyajIyMXH0yu8Q_iqzIorA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">838000</csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1XzfyFZbt06-bX-GFWj9aA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7743000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
    <csiq:LeasesFutureMinimumLeasePaymentsDuethereafter
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ayf5JwlKlkeC7_5v-y7gkQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7743000</csiq:LeasesFutureMinimumLeasePaymentsDuethereafter>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_KfBsd1pI2E-pM7Hymoqiyw_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50522000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_D6Fd7ZxMBkqDxygGZgwf2A_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76826000</us-gaap:CapitalLeasesFutureMinimumPaymentsDue>
    <csiq:LeasesFutureMinimumLeasePaymentsDue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zikZrZhHGEeSagvl-hjJQA_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127348000</csiq:LeasesFutureMinimumLeasePaymentsDue>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1XmQTVzqOkWeSNtc6quLlQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5024000</us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments>
    <csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_sQ2ubP9h106oQK1_3i7K_w_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5024000</csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_wLBkEnfRXkOPLJaP5Nfk6A_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71802000</us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments>
    <csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_4l3aCPQpaU6zR5syAbaH6g_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71802000</csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NQtANaEScEWgJgDKBkcScw">&lt;p style="font-family:'Times New Roman';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';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;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 856,876&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 819,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,051&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,089&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,927&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,120&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 265,770&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,173&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 393,614&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,687,311&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,838,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';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';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';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="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar power 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, the Company had contractual credit facilities of $2,331,226 and $579,545 was available for draw down upon demand. In addition, as of December 31, 2019, the Company also had non-binding credit facilities of $513,566.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, short-term borrowings of $708,787, long-term borrowings on project assets &#x2013; current of $283,409 and long-term borrowings of $513,622 were secured by property, plant and equipment with carrying amounts of $192,103, inventories of $55,955, prepaid land use rights of $28,763, restricted cash of $138,950, accounts receivable of $226,938, equity interest of $373,751 and project assets and solar power systems of&#160;$579,695.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Long term borrowings newly obtained during the year ended December 31, 2019 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On January 31, 2019, Canadian Solar Japan K.K. entered into a financing agreement with Mizuho Bank, Ltd, denominated in JPY, which agreed to provide revolving long-term working capital financing of approximately $8,476. The total outstanding borrowings under this agreement equaled $8,476 at December 31, 2019. The loan is secured by inventory and accounts receivable. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On January 25, 2019, CSI Cells (Yancheng) Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $129,010 in Jiangsu Province. The outstanding borrowing under this agreement was $40,136 at December 31, 2019, which requires repayment in 2021 and 2022. The loan is secured by prepaid land use rights and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On March 18, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $49,290 for Solar power project development in Japan. The outstanding borrowing under this agreement was $11,881 at December 31, 2019, which requires repayment in 2022. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On May 8, 2019, CSI entered into a financing agreement, denominated in USD, with Credit Suisse, which agreed to provide revolving long-term working capital financing of $50,000 for Solar power project development worldwide. The outstanding borrowing under this agreement was $50,000 at December 31, 2019, which requires repayment in 2021. The loan is secured by equity and guaranteed by SEA subsidiaries of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 25, 2019, CSI Cells Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $43,003 in Jiangsu Province. The outstanding borrowing under this agreement was $34,188 at December 31, 2019, which requires repayment in 2024. The loan is secured by property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 28, 2019, Europe Clean Energies Asia K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide project financing of $5,989 for Solar power project development in Japan. The outstanding borrowing under this agreement was $1,503 at December 31, 2019, which requires repayment in 2021. The loan is secured by project assets and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On July 15, 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. entered into a financing agreement, denominated in USD, with syndicate financial institutions, which agreed to provide long-term Capex financing of $110,000 in Thailand. The outstanding borrowing under this agreement was $91,095 at December 31, 2019, which requires repayment in 2024. The loan is secured by prepaid land use rights and property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 6, 2019, Re SH ProCo LLC entered into a financing agreement, denominated in USD, with Syndicate financial institutions, which agreed to provide module supply financing of $123,708 for in US. The outstanding borrowing under this agreement was $123,708 at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On October 11, 2019, Re SH Mezz Borrower LLC. entered into a financing agreement, denominated in USD, with a Japan financial institution, which agreed to provide module supply financing of $60,000 for in US. The outstanding borrowing under this agreement was $60,000 at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On October 25, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $93,975 for Solar power project development in Japan. The outstanding borrowing under this agreement was $93,975 at December 31, 2019, which requires repayment in 2021. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The newly obtained long-term borrowings disclosed above bear effective floating interest rates from 0.95% to 8.28% per annum.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Future principal repayments on the long-term borrowings are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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:83.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,019,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (400,262)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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;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:60.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.58&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.86&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.61&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.65&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.13&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.43&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar power projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2017, 2018 and 2019 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,274&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,620&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,971&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,032&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 132,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 122,676&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,740&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ysFlI9idCEi5LrbYKoM8KQ">&lt;p style="font-family:'Times New Roman';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;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&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="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 856,876&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 819,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,051&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,089&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,927&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,120&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 265,770&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,173&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 393,614&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,687,311&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,838,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_dVdtMUm7B0Ck3EW7sMDYAg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">856876000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fOo-vOeyF0OOkVOLdnMLGA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">819031000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_vJZi2BSxFUuGqj5iWaSiaQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171051000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aO25hPpEqkqlcKzNOGo1Qw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">114089000</us-gaap:LongTermDebtCurrent>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_m7BD-WrWU06a5WEhZeLMvg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1027927000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_r4iPKVzDOEeGkG00kuDFqA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933120000</us-gaap:ShortTermBorrowings>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_T9wNBmrrukG0-s7FU-xGcA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">265770000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_m4EjlhNQp0qipoWhmJ4S8Q_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">286173000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Mh33dl-UakGsd-v2O8ItGg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">393614000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Uu8_mBkYgUWscUE-IZTI5w_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Y95ZJXXCCUOfOAabvLTKbg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1687311000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HIQAo12PfkOcADYIb4nZ_Q_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1838770000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ"
      decimals="-3"
      id="Narr_71I5sEsMmEqCTFaZ_-HleQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2331226000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ"
      decimals="-3"
      id="Narr_hSKSAYwMfEGBNMqqUsRemw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">579545000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_NkfUFHvpiki-98GFkz5oaA"
      decimals="-3"
      id="Narr_9tmkc0Y_q0iEKZ1b0_nNhw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">513566000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_KEkSnZVg_UW4bf8bYdn3XQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">708787000</csiq:SecuredShortTermDebt>
    <us-gaap:SecuredDebtCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_K3qU0GEPkUW76r_4DJOKdg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">283409000</us-gaap:SecuredDebtCurrent>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_SeVI-fM0MkOouafuZcQ43w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">513622000</us-gaap:SecuredLongTermDebt>
    <csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_vC50cmWFZ0yy-NI9oIpVgQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">192103000</csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment>
    <csiq:PledgedAssetsNotSeparatelyReportedInventory
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_hYn7fPP22k6K0tZX2p5tsw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55955000</csiq:PledgedAssetsNotSeparatelyReportedInventory>
    <csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_-m3d7crCC0SXTcU12etJQA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28763000</csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight>
    <csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_TsT2kXky_kS0qx73SK8UyA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">138950000</csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash>
    <csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_1crh1ctXQkyvM5-kBPOT-w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">226938000</csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable>
    <csiq:PledgedEquityNotSeparatelyReported
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_qZxKxH_sYEGglAJtL5ECSg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">373751000</csiq:PledgedEquityNotSeparatelyReported>
    <csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_qjJOtSGv9UmXwZ2qfLJ4TQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">579695000</csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_1_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_dFjpPyfdT0yiKEnn9IuxwQ"
      decimals="-3"
      id="Narr_LEG6WnqOR0m845Ys1QwA5w"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">8476000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_hdNSdECI10-ZOuoW3A_S4w"
      decimals="-3"
      id="Narr_sDYPI9TOEE269_oHTDTYQA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8476000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_1_25_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_47PUT9M-pEG19ZgH0VNFsQ"
      decimals="-3"
      id="Narr_lwDm2dPisEiEGFRAulp8kQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">129010000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_4OvvNdHmPkOJX1eQ44pPWg"
      decimals="-3"
      id="Narr_s5q6HF6PL0KQtUos540ArA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40136000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_26_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_soD0AKKIuUuNnrkbdBGCHw"
      decimals="-3"
      id="Narr_baynQlHuYki9RMFOeVIhBQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49290000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_fCMeD0tB102XyJd5n4KIjA"
      decimals="-3"
      id="Narr_VUJNZopbMUGlF9_J-sL_Ug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11881000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_30_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_H02AytcwPkqjfLjt3UCu_Q"
      decimals="-3"
      id="Narr_DbkmuMkSB0iYlcXRaQQiVg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_LR3iHk2vW0KQebnCNviWTg"
      decimals="-3"
      id="Narr_37P5nqNey0GOz4FOtWV1wg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_5_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ZaO8-lOzmkSOpXV4cotMHQ"
      decimals="-3"
      id="Narr_U4Ujl6ikUUSMcgoSKTF9UQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43003000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_YxgnMJzRbEuNZzwUeEkYlg"
      decimals="-3"
      id="Narr_1QkFxYItZUW2Rfseuc-4EQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">34188000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q"
      decimals="-3"
      id="Narr_lH63iZRtwEKeV1LJl4w0mw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">5989000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q"
      decimals="-3"
      id="Narr_g7PHI4G57EesE_T1sRzWCg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1503000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_7_15_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_67RkCDdGfUyMt7-vVUuIGg"
      decimals="-3"
      id="Narr_jT26k0GjsUG3KpZF_VYdyQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">110000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Unnv7A6IF0SNpUA-z-kfzQ"
      decimals="-3"
      id="Narr_FZOjo7QvlEy6lAvU1HN-2Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">91095000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_9_14_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_65cKx5UOmUCkMoGigo2IqA"
      decimals="-3"
      id="Narr_ae9aVKuv60SLfsl0SpvsMA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">123708000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Fsc3B2vRw0iyfhOc95NwbA"
      decimals="-3"
      id="Narr_iXozLOfkO02KflEGhVEPnQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">123708000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng"
      decimals="-3"
      id="Narr_k0YTA0Nf9E2QctvP5Txilw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng"
      decimals="-3"
      id="Narr_u_qtw5_ZjE2ImR27wHt5dw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_10_31_2018_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_7ApNkRhE_0CMLMlGE-tNdA"
      decimals="-3"
      id="Narr_BuHO1pmnfkKt2WlsZyZGGg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93975000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_aoxurKTLVEiDwuHolZCXcw"
      decimals="-3"
      id="Narr_sUf33hRi50GtKUNZpJp11A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93975000</us-gaap:LineOfCredit>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="INF"
      id="Narr_K5xzO6Qde0evgxzTSe0zWg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0095</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_J4mOL7t9UE2ph7ikCs6hCg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0828</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_p7IpFvCdLEOwgUKZ_wSfiA">&lt;p style="font-family:'Times New Roman';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;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:83.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,019,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (400,262)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Yr7s-2JwzU6wy2PLiPbV-w_1_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">400262000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_T1x1tet3uEOawlg92tWfCA_2_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">245927000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_BEl71p4qzEyr1kyEbZzfIw_3_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">276675000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_cizUypqnpkaZKKWBqpa6Mg_4_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40679000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_OHTNR_d1aUCO7-hNhLkTyA_5_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15158000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_FC53vSkrSUS3R11SQLfSkA_6_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41038000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__1lXykiraUqf1TWFFM_vEw_7_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1019739000</us-gaap:LongTermDebt>
    <us-gaap:LoansPayableCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_NUHQpTD2UEOmFewIyQ07_g_8_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">400262000</us-gaap:LoansPayableCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fzfvZV4gFUijmxwIgFpMew_9_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <csiq:ScheduleOfEffectiveInterestRatesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_AFhoJLGDoUKrlW8x9XzbOQ">&lt;p style="font-family:'Times New Roman';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;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:60.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.58&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.86&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.61&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.65&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.13&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.43&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_V5qWxWd2PE6gJIqF5det4w"
      decimals="INF"
      id="Tc_RdZ3Hm13M0Woq_z_0VPs1A_3_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0458</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_QB6FQT6tsUu2JlD0M-uS9A"
      decimals="INF"
      id="Tc_ZOy2nMshGk2Ca1y94CaR0Q_3_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0486</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_kaMjFIZagEOypzTRPqfy3g"
      decimals="INF"
      id="Tc_O04M5ckVpUWiOKxrZDAsRQ_4_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0461</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_4LmkbPUO0EaVzVJKFVhl9w"
      decimals="INF"
      id="Tc_DWBQfDEf-kOyHcZddhoxUQ_4_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0365</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Tc_NQIB_UOcqEyP-AvdPFOZxg_5_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0313</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Tc_9-ME-2d7ak6NAPhpE_aBHg_5_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0543</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:ScheduleOfInterestExpenseTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_g_XrKxQPwUORBbEzegc6QA">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,274&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,620&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,971&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,032&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 132,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 122,676&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,740&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfInterestExpenseTableTextBlock>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_5BCe8Sisq0GkEBshGZt0DA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13274000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_jyrgowkzUkGOm6N6VwoQrg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15462000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KwHo9QSGmk-WsDmOYqbtbg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10794000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ZbtUSMhNS0Wo-m4U1TnFWg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1010000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_flTRM02j60GcZDhBDDhLBA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1182000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_t5wTg06eUU6-dJGUrpekFQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2620000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_GS80DDWAGUuL_Bs7Usk-mw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">117971000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_9Jbl1oxW-kOS-Ev5RSEqWQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">106032000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_TzvnNJ1hk0Kuplmu_HYFrA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">81326000</us-gaap:InterestExpense>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_hs1wi-kV5kmEhtT-w_rzqA_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">132255000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_tucjIpqLN0y4IgtFPqD7ug_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">122676000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_sy4-aDVUjkmgVFeKptsC2Q_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94740000</us-gaap:InterestCostsIncurred>
    <csiq:ShortTermNotesPayableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_aT8eOxxF5k2L1wTg-Uq1Og">&lt;p style="font-family:'Times New Roman';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';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'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, 2018 and 2019, short-term notes payable was $369,722 and $544,991, respectively.&lt;/p&gt;</csiq:ShortTermNotesPayableTextBlock>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_v7TBCTaoQ0S4L3gTQ7qydg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">369722000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_JNm-Z_mKV0SxsyyOYzlI8Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">544991000</csiq:ShortTermNotesPayable>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_hSf_o0l_9EC5b-9h2ZbjmA">&lt;p style="font-family:'Times New Roman';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';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';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;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:61.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,139&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,793&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,044&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Warranty costs incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,552)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,732)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,282)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="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';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,510)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 511&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_2J63jZ12v0e0SNAXvWOTUg">&lt;p style="font-family:'Times New Roman';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;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:61.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,139&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,793&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,044&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Warranty costs incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,552)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,732)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,282)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="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';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,510)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 511&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_ImW0JARWQUKF29ZRX-uDQA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61139000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_OM8CnuensUuHP3ED75wpBg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55659000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UMLJJJY-k0qyggalF5kuCg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_qMb93dskSki1LKzBpgi4uA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19793000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WAoPmi7wIUybCT9CU52fwg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13188000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_yzN6U2bd_0SVoOy1qv9sEQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28044000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ZzelXo3L80yeJrM-PLWRXA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26552000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Q5oAW1mzrEWI_Qmuy6JuXw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16732000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_NE5aGjAOXEK6SjFw4F1TBQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23282000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_w1sUW3YRdU6mTBw4P7xMvw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1279000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_hHsyrcULZU2qjsKsrrfv1w_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1510000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_EhrBUXQtkUSfKJyofTn7Zg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">511000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_6imYBMrx1EGBoRxagVMcxQ_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55659000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_29FR0fbJ0UeZ02HOVkBLhg_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_xjVPA64eY02haF4VhiLVBg_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:RestrictedAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_LjEx_RftEEaJab8DkaM41A">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As stipulated by the relevant laws and regulations applicable to China&#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';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';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 $497.2 million as of December 31, 2019.&lt;/p&gt;</us-gaap:RestrictedAssetsDisclosureTextBlock>
    <csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="2"
      id="Narr_eLSY5a0w_EyN8uIphmuv9Q"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_zpI0843DtU2xMSlZopVL7Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">497200000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ConvertibleNotesDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_vEfV3e9lSUus6pY1-wpscA">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On February 18, 2014, the Company issued $130,000 of convertible notes (the "2014 Notes"). The Company granted the initial purchasers a 30-day option to purchase up to an additional $20,000 aggregate principal amount of the 2014 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2014 Notes are described as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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 2014 Notes mature on February 15, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Interest.&lt;/i&gt; The 2014 Notes holders are entitled to receive interest at 4.25% per annum on the principal outstanding, in semi-annually installments, payable in arrears on February 15 and August 15 of each year, beginning August 15, 2014.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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 22.2222 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $45.00 per share. The 2014 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 2014 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 "Fundamental Change Make-Whole Premium"). 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';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 February 21, 2017, 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2018, and 2019, the carrying value of the convertible notes was $127,428 and nil&lt;span style="white-space:pre-wrap;"&gt;, respectively.  The balance at December 31, 2018 and 2019 was net of unamortized issuance costs of $&lt;/span&gt;72 and nil, respectively. The debt issuance costs are being amortized through interest expense over the period from February 18, 2014, the date of issuance, to February 15, 2019, the date of expiration, using the effective interest rate method which was 4.96%. The amortization expense was $907, $953 and $71.8 for the years ended December 31, 2017, 2018 and 2019, respectively. Coupon interest of $5,419 and $903 was recorded for the years ended December 31, 2018 and 2019, of which, $2,008 and recorded in other payables as of December 31, 2018 and all amounts were paid upon December 31, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In February 2019, the company repaid the entire $127.5 million outstanding balance of senior convertible notes.&lt;/p&gt;</csiq:ConvertibleNotesDisclosureTextBlock>
    <csiq:ProceedsFromConvertibleDebtInitialIssuance
      contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"
      decimals="-3"
      id="Narr_duMTkYiuw0CkslI5uEm-Jg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">130000000</csiq:ProceedsFromConvertibleDebtInitialIssuance>
    <csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance
      contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"
      id="Narr_7Y3QHQsI1kK_8eUAJj9S6w">P30D</csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance>
    <csiq:ProceedsFromConvertibleDebtAdditionalIssuance
      contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"
      decimals="-3"
      id="Narr_Rn06FHdC4EC7IuehXh-l4g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20000000</csiq:ProceedsFromConvertibleDebtAdditionalIssuance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="INF"
      id="Narr_2uXkvf9_I0u2Noj97gQbEQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0425</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="4"
      id="Narr_wE8Fs4wlakm_jd5iYcOlFg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">22.2222</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentAnnualPrincipalPayment
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="-3"
      id="Narr_I9zLx_BuLk6hnCWZrxpQTw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1000000</us-gaap:DebtInstrumentAnnualPrincipalPayment>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="2"
      id="Narr_8fY0kQY8m0ybJybE4GN_iA"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">45.00</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="2"
      id="Narr_t1UpJ-TXvUmooE_D0336xQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="INF"
      id="Narr_cnM73fFgJ0ir1113OSq3MA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="INF"
      id="Narr_Gtr8-u1zvE-tEUdV7NfLJQ"
      unitRef="Unit_Standard_D_TD5KJN6-H0iWH7G2g_795w">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="2"
      id="Narr_MVsraHyFW0iPWUpRnldGGw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA"
      decimals="-3"
      id="Narr_rjiGc062v0mlUU6ejB0GCA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127428000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="-3"
      id="Narr_5tMQasE1mkSjSamG0q8tMA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA"
      decimals="-5"
      id="Narr_Jl_vK31P00KHVbtOo620HA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">72000000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="-3"
      id="Narr_DLIcDKjj7kCAxJUl3zmieg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="4"
      id="Narr_xw_wEczmBkySE-OffneA0w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0496</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_wzoGpx0GgkmiZaayun2EzQ"
      decimals="-3"
      id="Narr_a-JFpIXXD0-X5Gv98zAZkg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">907000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA"
      decimals="-3"
      id="Narr_p0tkpaZ5AUC1rTYPfX5WHg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">953000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="-2"
      id="Narr_Qj01FAz9eUK0P1YifXuvew"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71800</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA"
      decimals="-3"
      id="Narr_OrnUgRtdGkC3EGm-R7AHHQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5419000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="-3"
      id="Narr_aKlpaPIlOEuKvRmYUygwng"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">903000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestPayableCurrentAndNoncurrent
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_us-gaap_AccountsPayableAndAccruedLiabilitiesMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_z6P2d2lnrESe6ot6hqkgYg"
      decimals="-3"
      id="Narr_xbZJGCYAFU2seBAR7dmDfg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2008000</us-gaap:InterestPayableCurrentAndNoncurrent>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_2_1_2019_To_2_28_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_gK9F7jLB9UOrvT57XyoeyA"
      decimals="-5"
      id="Narr_TFgTB-3i8UayXakiSG6rOA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_The_diRSjUGvm-dKXf5F6w">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Income tax expenses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,524)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,570&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (61,880)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,205)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,377&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 173,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,632&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,164&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,555&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,335&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,848&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,215&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 143,934&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 304,400&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 208,621&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 346&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,846)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,420)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (54,482)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,786)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,803)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,383)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,325&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,229&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,008)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,057&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,261)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,685&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,558)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,426&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,696&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,412)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,653&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,333)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,499)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,381)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,953)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (703)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (491)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,637&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,619)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,978)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,215)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,069&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,289&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,276&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,711)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,906&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,694&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,969&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company mainly operates in Canada, PRC, Japan, Germany, the United&#160;States, Hong&#160;Kong, Thailand and Vietnam.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 26.5% for the years ended December 31, 2017, 2018 and 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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, 2017, 2018 and 2019. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of 38.61%, 24.82% and 22.89% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Recurrent Energy Group Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of 38.32%, 25.32% and 27.89% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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 32.02%, 32.02% and 31.78% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Manufacturing Vietnam Co., Ltd was incorporated in Vietnam on June 25, 2015 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 will use a reduced statutory rate of 5% from 2020 to 2028.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand in November 20, 2015 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 year 2022 and the other in year 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and is subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The other major operating subsidiaries, including CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd., CSI Solar Technologies&#160;Inc., CSI Cells&#160;Co.,&#160;Ltd., Canadian Solar Manufacturing (Luoyang)&#160;Inc., CSI Solar Power Group Co., Ltd. (formerly &#x201c;CSI Solar Power (China)&#160;Inc.&#x201d;) and Canadian Solar Manufacturing (Changshu)&#160;Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#x201c;EIT&#160;Law&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly &#x201c;CSI Solar Power (China) Inc.&#x201d;) are all subject to the enterprise income tax rate of 25% for the years ended December 31, 2017, 2018 and 2019. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Certain of the Company's 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 2019, Suzhou Sanysolar, CSI Cells, CSI Changshu Manufacturing, Changshu Tegu, Suzhou Gaochuangte New Energy Development, Canadian Solar Sunenergy (Suzhou) and Changshu Tlian enjoyed preferential enterprise income tax rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (18)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of different tax rate on earnings in other jurisdictions&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;U.S.&#160;Dollars,&#160;except&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The aggregate amount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,089&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Deferred tax assets and liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 11pt 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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,424&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Bad debt allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,324&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,973&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,731&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 496&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets relating to sales of solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 481&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,536&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,064&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,767&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,947&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,415&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 202,082&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (76,522)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (70,627)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 125,560&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 151,641&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,789&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred profit of projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,771&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,803&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,984&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,513&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,141&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,087&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153,963&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,698)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (56,463)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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 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, 2019, all of the undistributed earnings of approximately $625.9 million attributable to the Company&#x2019;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and &lt;span style="-sec-ix-hidden:Hidden__5mLaVFunU6MP9XF7ElhkQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;span style="white-space:pre-wrap;"&gt; 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. Distributions of earnings generated before January 1, 2008 are exempt from PRC dividend withholding tax. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $31.3 million to $62.6 million, as the withholding tax rate of the profit distribution will be 5% or 10% depends on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,361)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,051&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,156)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (709)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, the Company has accumulated net operating losses of $670,541 of which $186,360 will expire between 2020 and 2039, and the remaining can be carried forward and back.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&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';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';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="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&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';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';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="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&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';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';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';font-size:10pt;padding-bottom:12pt;text-indent:18pt;margin: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. As a result, the Company has recognized a valuation allowance of $76,522 and $70,627 as at December 31, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="background-color:#ffffff;font-family:'Times New Roman';font-size:10pt;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';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, 2018 and 2019 was $4,398 and $4,795, 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';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, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,684&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,806&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,094)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,720)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (257)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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 2014 to 2019 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's income tax returns for 2015 through 2019 remain open to examination by the U.S. tax authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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 2014 retrospectively, and on transfer pricing matters for taxation years up to 2009 retrospectively. There is no statute of limitations in case of tax evasion in China.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_nSsIGL8eT0emGf4HDcjkWQ">&lt;p style="font-family:'Times New Roman';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,524)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,570&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (61,880)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,205)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,377&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 173,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,632&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,164&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,555&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,335&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,848&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,215&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 143,934&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 304,400&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 208,621&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 346&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,846)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,420)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (54,482)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,786)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,803)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,383)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,325&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,229&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,008)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,057&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,261)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,685&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,558)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,426&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,696&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,412)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,653&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,333)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,499)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,381)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,953)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (703)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (491)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,637&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,619)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,978)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,215)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,069&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,289&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,276&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,711)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,906&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,694&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,969&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_wePQcwNuDUKNaLWVUHFx4A_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-30524000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_vyytDmOp-EarVO9kG0_85w_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10570000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_AskWUEXcQUqcli-TWmoA-g_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-61880000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_7hNU0tP_qkSAcuhB8iSlgg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-33205000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_b5nLVDuENU2rjxj4Qbok-Q_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61377000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_pdx1YXIRnkC-oF-BWbc2Aw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8319000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_TyPs0C-ygkSwlCM7hO-NLg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">173266000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_p8d_KQ1q_UGG3IuSl4IfVg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">178050000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_gBRVKCAsYkyMOztdDt_BNg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">204632000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_5MHAHPfm-0CNzQIUCLPMPg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28164000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_xaC2HWa5YkWh1QrpRZa_uw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27555000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_nCOxiqcGD0qqhY7B6R1EOQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29335000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_QOfbimeSpUe6TiiyIsMnZQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6233000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_XIvoe0IfkUyyd5q4SEpaEw_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26848000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_mC2Bl4wqbkiyPtlk3MMk8A_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28215000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_U70uSX2SUUqqlt7SW-HlwQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">143934000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wTzzqN9FVUWVmw8enhHq6Q_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">304400000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_lsHWC6hlH0a-OR4G6bDWbQ_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">208621000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_QIapsrqN6E2XedQxkIAJIQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">346000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_QW0R87a4zkSa2dVX4ujkNg_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1846000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_ZUgV2bBBUkGX7fXvWwqy4A_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3420000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_qSJqtRxtDUCOrARQjFcl1A_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-54482000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_Wkh5xgmJtkm1gvUUVfB2pg_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-14786000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_Yu5CGBXpGk2DEMHi6V6Obg_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4803000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_cRqBKP84uUiX1kmxhNEipg_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7383000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_zWfUUKELBkWCA-v8sh0nfQ_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27285000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_8MH32NqRD0COyMIX4kj5Ng_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44622000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_cQnUgzeXp0Sb9--31tDeAw_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31266000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_WsXznABHVUiyR83UfnAcWQ_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5325000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_dqnPPWEvGE6FamylouAKNw_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13229000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_F3zSUGPqQUulyULXdO4aKQ_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8008000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_plF_gHJnP0qYrG10NvSljA_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2397000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_WdiXDaTG60a0t_wRQDNerQ_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7057000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_pE3g231ab0aojfKf1ZHkwQ_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-38261000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_0wuL-qpS0kWvPttcZuT4_Q_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18375000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_6yQLOW_XTkCYHn_O1X6-Xg_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56685000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_wJfp-FIKuEuV_uWSJUhcEQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6464000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_ciqUnROzBUqLalb8zsk8LA_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12117000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_iANT6FoHO0iPIDGyHB4xCA_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6558000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_f26HZjZi00WvjiEbg_oQCA_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">67426000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_96LWna51B0O6747nF6DiUg_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32696000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_npza97JBz0ej_qIX0Dke5g_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2412000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_aEoWAU24OEaqGDnlh1yGHA_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23452000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_KjpVCnGb7UOXiGNEjtVZng_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2653000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_JuXIcJnk7Ue4VQ23P3WKfg_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5333000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_Sg7J-egjc021xAQULi2KpA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4499000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_r__tUpAItUmQDYb-G4Ws-Q_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3381000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_pXIpYQrGr0WUGA-ait3Q2g_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2953000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_nV1-k7hQcEiDdZt5KlU2rA_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-703000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_tCJzjaUEjEW9OtynIWqxtA_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-491000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_NPdqKy6OwkeGRWt6Yy6g_Q_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2637000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_HosaBxgg7UqVW0Mv2aVRag_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">79212000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_S94CIcUflUSL_REl_Gc0jg_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43594000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_2s8ZqHuMA0y4EWSCRbPpUg_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-14619000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_ZyA4mT0XdE25O98o1fHcJA_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6118000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_lDYefv8bvUCt299xgrf7pA_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10271000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_axPVn7lLLEG8wvknCtQCMg_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9978000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_tdnP4lJxOUWLpw3fshf_ag_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12944000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_3VMvc0UeYkSU9pqRf_RX3g_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17910000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_pJ-UenjTL06-X2fj663y3Q_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7215000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_WqX8SoYQVUeIz83zUbyrwg_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16069000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_ANUL6mrIC0epu-AcKiTUDw_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29938000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_sBmuhFM6hEqAJ-TJz5zT2Q_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39289000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_KIA0RTCuCkitv8403zOKcg_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26767000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_vCrYOGXeTEK3rJFY_j7xgA_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1944000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_GGhfnpzraUOBAM0oHS4nxg_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10276000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_nJkZln9vfUeSWxY70RFNcg_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8711000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_JeBhRY8Xz0CzDLQ1hE-GYA_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1906000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_6RZEDQq7nU6t0iauwLqCRg_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9694000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Zn1jYngVFEmW61CP7ftvaw_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40951000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_259OATnEE0a8sNGlh3svCA_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61969000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_xHshAKEE9kiemqxOTTYIzw_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42066000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_FuqNMzntKkC3oW2vZfXXEQ"
      decimals="3"
      id="Narr_bjjT09utI0WVvxcigSjyjg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_oMfXEVnV40enxqssJftNdg"
      decimals="3"
      id="Narr_HGfVmoBAg0aVEkzKPe6l_A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_LRvKjJEMkUKk4ypEQ6GI8g"
      decimals="3"
      id="Narr_oGWTwSnTVUuykMd4dNB-Yw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_c98FVmoqQkyW_kLaSAxMdw"
      decimals="3"
      id="Narr_7M1PKIxy2EK1qKD8yKiosQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_tiD3_T5xBUm2DSnaLrAVcQ"
      decimals="3"
      id="Narr_OCuFgGvNAUeP6ZvqseSzVA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_ZvCdVuOIL0WUgu2MyAEiBA"
      decimals="3"
      id="Narr_NkZi3jZBH0uzyEx1gt5IWA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Bv4q5MiEmkWzYnjY2n1DDw"
      decimals="4"
      id="Narr_2x_H4Cpx-EaAcLwpnCPolw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3861</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pNY_HOZnIk6S_Cx_AraG-A"
      decimals="4"
      id="Narr_70l6kMrqZUWOm245n5vliw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2482</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_bkAVaYM15EmQbIM35GduTg"
      decimals="4"
      id="Narr_yKtGrw0RlkW09fAkkVdXDQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2289</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zP9wRc_tCEWZ-xX99ys6pQ"
      decimals="4"
      id="Narr_UXOPoCtgl0uemkgzJJFSFw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3832</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_3OIr_K05xEuzbasWpuYRgQ"
      decimals="4"
      id="Narr_HB73WDF5Y0mxwAASGqFfKw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2532</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_NPh8C7LJHECeEmAuTzFAiw"
      decimals="4"
      id="Narr_qis3OByHsEq2pSntfYzG6w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2789</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_dlAOFm7h4E235UcaiMqK9Q"
      decimals="4"
      id="Narr_r2KB5q9e9kKmL9ScYuOs9Q"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3202</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_FlG6nKVTo0KAB9DKt_5AEw"
      decimals="4"
      id="Narr_-WFNZgYJCE-A7Verzo-upw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3202</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_DOY-AYh8JUi8k0idPnt4NQ"
      decimals="4"
      id="Narr_0HM0mv2E8Ui0ZfP-t5Wqpw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3178</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yQTe_lwLrkin8aDcC1uNwQ"
      decimals="2"
      id="Narr_ABVgJi9gLUGXnU9BFfrAIw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_FzwS043JFkCFXZkQylZQzw"
      decimals="2"
      id="Narr_LeNk-luT9EWU_UC_o1F7HQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_JLou2P7_vEqXT73wTfXT1A"
      decimals="2"
      id="Narr_iOO7yaoWhU6LWl7lU8y5Fg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_ocDHkN3-qEOTyq04go9m_g"
      decimals="2"
      id="Narr_px9B6jIh7EizjO76mEuuEA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_amsmSJQ6Wku4fhLRaqNHVA"
      decimals="2"
      id="Narr_-VM_iIKyjkmFxh5jPsdOmQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_lbiTOXxyOkGyeO_8SAZsGg"
      decimals="2"
      id="Narr_-Xhjn9vOHk23JrrihA9Nlw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_2WH8T4jvyU-OxlqYQ4oGYg"
      decimals="INF"
      id="Narr_5woT6-3tnEmYAUe6jeKuYA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">2</csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_FKfCSsb6TE6bU85fsoxSWA"
      decimals="3"
      id="Narr_OI_-ffsf3Eqp8_T3oMHKHw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IBo9NIvbLUyT4Rv6iXMRMQ"
      decimals="3"
      id="Narr_mCgI4nSpW0CtfVrBJxHn9g"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_33JisG54LE2A47Bw5bTPyg"
      decimals="3"
      id="Narr_wVlPg_B2X0yNgi9vddDCrg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_uxzT1pJR3EWXMflEmWH5Lg">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (18)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of different tax rate on earnings in other jurisdictions&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_h3sVYZiePE2A_vGGhiVYQg_3_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_uV9VBCojr0-ExF9h-kjdEg_3_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_qVEEx958Z0SivwRcaSpr5Q_3_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_LapoLrS6bUKkVcb3actwXA_4_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.18</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_8JprP2hKrEyWzDKCQ8MfYg_4_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.11</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_SlzW3wuYhEOUKo28g9M7Ug_4_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.01</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_P6K0wi-lU0qwupMMsDWGIQ_5_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_FqXWPwT5nE6g3dFBHRDSvw_5_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_P-2SF2X9Bk6MInopSKKk0g_6_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_kPucS1Em_Uit43-IO-rBOA_6_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_t-5PpHlDTES-XUA17qwNmw_6_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_E0lYknjz0UmhX-Aa7hU6PA_7_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_MsL04lY-k0mZUajJBKrt6w_7_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_hsxzv2QNO0Cl1c20goSuug_8_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.06</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_4dvZXEFO30S7yjTnU9sV_g_8_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_Il8XfFt3VEa-qRKEyP0L6w_8_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_P0jEO-3Tr0qqQZ7THKZGTQ_9_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.39</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_WZ_jAuQ_SUmV50y8rccVDQ_9_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_L88OSadD50-y2wuxHenBDg_9_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_FTe5zBkRLkuHteRHo-RhmQ_10_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_vxmMRn7rdEilJ-Ycn8EB5g_10_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_AiLl2K2O-UW-NLZ1wQcPWQ_10_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_RK8ZCTHaH0-q6lUvrdxtww_11_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.28</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_Np1Cp6Eh9k2lMGDbU0xr4w_11_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_PMomrcY2zkuHPDAS9NAuLQ_11_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxHolidayTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_UP6xaQ1Z6EWtXSDCkq-beg">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;U.S.&#160;Dollars,&#160;except&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The aggregate amount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,089&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfIncomeTaxHolidayTextBlock>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_v2jponcbB0GCQfLQEmIhEA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2850000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_1PSrZU0yjEGkItuPsbMiaw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3089000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc__d63IyufqEmXFYdsienzjQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7956000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_zvZq47euz0iU9UkVDhwkVQ_7_2"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_6Hsv0PorakqIfZHNbxl_Jw_7_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_ckKnrLQ6v0Oq7vmxt-ZALw_7_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.13</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_Rg3OufnjNkyuHaGAp08uuQ_8_2"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_JCkZ-aV2MESWLKLufeGmuQ_8_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_XhXLACbg6kOXaV-TO5Crww_8_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.13</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_OH8IVBPdA0K18ncg_Cg8dg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,424&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Bad debt allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,324&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,973&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,731&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 496&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets relating to sales of solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 481&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,536&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,064&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,767&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,947&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,415&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 202,082&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (76,522)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (70,627)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 125,560&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 151,641&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,789&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred profit of projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,771&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,803&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,984&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,513&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,141&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,087&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153,963&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,698)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (56,463)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_6c0Y45PEmUu6dyFM161VIA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9424000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_LE1lfwrKDEuE6ee4EKWyxA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8326000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ST3oZpEIaE64Q3sNF9DtmQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7019000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aXjSzxcrNEq3Iit_0TWGWQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10324000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UP4t8uktJ067-nU_0sDmag_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1723000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_VM3leorfxES7x0Psjkriqg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1128000</us-gaap:DeferredTaxAssetsInventory>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_oamIdfEhREe8GBQKG2NGQw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26973000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_PJMJRP38rk2It93OEeq13w_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20731000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_elWcUi4uW0K0rTj0LfCSIA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19647000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Xuw9Fl5zQ0-M7-JunhS0kQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23380000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_7QD7DOHmZ06hE7VlfY8RGw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9341000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_dC83BstmpU6So0Kmhq-MIg_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">496000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_KFni2Qsi-km49EgF-rc8nA_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">481000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__ODvN_T4D0aJvQEQhkyiHw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8927000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1ehf4mALaUOkVZ_eNnpH7g_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">90536000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_dgzfdUDl-kq8-Bzu-YIzaA_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">112710000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_VG2_62oK_kiuSFwdm0GMxQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9471000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_8e4Yu_bKR0aust6_5T4C9Q_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7064000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_gKPglJ4YtUShJMqdltdFnA_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13520000</csiq:DeferredTaxAssetsInterestLimitation>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_YOKKXSJDrk6yczSSnMIfUA_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2767000</csiq:DeferredTaxAssetsInterestLimitation>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Y0u1-3WCu0yyDUGiJYVsZg_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13947000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_zinVN3BJcUSCRNgoo-ml4A_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26415000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_tzu9VTW3BECpRln-MIStJQ_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">202082000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_UjSOTP7j60WGXw6z7ENkhQ_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">222268000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_pWg5DtynFU-WrEorOcLBbg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_bx2eJ2pVOUO_Y89ze4LmAw_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_thSU3ZkS6kKcqmpnckKgYg_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">125560000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_I4hN3JmacUqnF2ckASqJ1w_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">151641000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_afwHjLU1QkGqAavSYor_vA_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2697000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_15FMQpxgoEqTtOG_e_S4FQ_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">217000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YxIxNrc27EmWO-pktAW8BA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1212000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jFk_930X-kCRfo--lUvl3w_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18789000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <csiq:DeferredTaxLiabilitiesDeferredProfitOfProjects
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_2hYJfz_PF0OpXpU8bNZxMQ_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4108000</csiq:DeferredTaxLiabilitiesDeferredProfitOfProjects>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_nuhXymBKOUeqoCnypdrtXA_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14838000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_qy0NJsO99EanS_1ZlOl-Dw_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15771000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_bfGPY5PbdEe3wU-fECSpyQ_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4803000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__Ut4_RGdtE6jqRFfhUr2yw_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10984000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_xBSpTdclDUeWjkc5yHKyjw_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12513000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_7Mc8lJIkU02wGQmErY04ng_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8380000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_9aGtrXW6L0Wvz-QwiAcmOw_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40171000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_L2LK5bkKcU-TlCTZKBuxBQ_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">54141000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_uo4Xxk0mvUy0ilSPLUwqLw_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85389000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HciXWX2GQEqZrtd81UMNjg_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">97500000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_rR6uLhJw-E6Fg3ezicnQBg_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">121087000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_0BUs8lUau0GA4x_e0yfbkw_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153963000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_glFppDPVN0-DC7w9Sj3V0Q_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35698000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_u5iTx7g-6kO4-tx_VQOyNg_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56463000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ED3ati5vWE-y0RNhsVOpjQ_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85389000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MIV-P7fa4UqmuLyrGNCzKg_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">97500000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_64pKddD3rEOOS-fQy9pC1Q"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_9LA6QV45P0qSZi-9kpuqCg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">625900000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_6XxkbxM6IUeXCF1ofWfl1Q"
      decimals="-5"
      id="Narr_TLsdxK0w6EuNDzgbMM18bA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31300000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_8UTduJvzpU2u0QlPhXukTw"
      decimals="-5"
      id="Narr_GuZ_Ztr_OE-pZpE2ddJXRQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62600000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <csiq:WithholdingTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="2"
      id="Narr_I031VJVPMUiPx8vP1H2F0w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</csiq:WithholdingTaxRate>
    <csiq:WithholdingTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="2"
      id="Narr_Tf83I9TamkGV7wos_qIVXQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:WithholdingTaxRate>
    <csiq:PreferentialWithholdingTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_FLaSybZQb0OyXoAvE8CnBA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</csiq:PreferentialWithholdingTaxRate>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_urfxYXv7LUePHivWAXov9w">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,361)&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,051&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,156)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (709)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_nQsty6uxZkSCvaBLSSYCpw"
      decimals="-3"
      id="Tc_yB4f_Bg2hEqBjL2_yFHMQQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71469000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw"
      decimals="-3"
      id="Tc_Iujz_77ymUeN33np9qzY_A_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65399000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw"
      decimals="-3"
      id="Tc_Ubx5yuFm2kmAB9FwwOTccg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ"
      decimals="-3"
      id="Tc_b2Iq0j7I5Uqig01smpbvCQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5361000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w"
      decimals="-3"
      id="Tc_uKm5izenWkm5S4Wmz_AskA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11051000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A"
      decimals="-3"
      id="Tc_lf7WH7HXyUSp-1kZ2sDBKw_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6156000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ"
      decimals="-3"
      id="Tc_SrLNWuY8mkiFvLgUhg5bGg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-709000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w"
      decimals="-3"
      id="Tc_ed3SvNDNuUGtkPruVgFn-Q_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">72000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A"
      decimals="-3"
      id="Tc_lk-0Vk_IsEG2hX_AtXrrYQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">261000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw"
      decimals="-3"
      id="Tc_uyIKpCBW-EW8fKl8zj-iDg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65399000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw"
      decimals="-3"
      id="Tc_cyS96u1nBkqr-7ddp77pxQ_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Pqhcg3bXH0C9v6U84hAHiQ"
      decimals="-3"
      id="Tc_hH1fyTsRxE6pfD-MRqsZKw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_p70lkUadf0ypeXzu14tUfw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">670541000</us-gaap:OperatingLossCarryforwards>
    <csiq:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_omzoUhjvLU22iU1TsVkBbw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">186360000</csiq:OperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_QRKDfTLRY06VfmQjrJzJRg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4398000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_WkAOrTOp30-RcjpUBUWOhw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4795000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_jdlFsw64iEKFv9-TAuqREw">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,684&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,806&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,094)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,720)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (257)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_8VLOVIp1PUarBCFkNZYbaQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5684000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_F8GlHvS76EerRr3ZquLt7g_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6181000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Gzv5XbmX2ky1t_HKYEyfXg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15730000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_WpF1dnWthU-q_TZVFnWrbA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1376000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rpvmleDsfUy8L4668QfpOA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9806000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_DOESsy4bCUCCYkRpeU-Iag_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_uD8qCondoUSiwk_c2ftAWA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1094000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_onvEaMlfcEChgl5wJ_NLrA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5720000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Rc7U-5ctMECl7BXmluFsLw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">215000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vITB9yKC8kC9O7Koslwi3A_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">257000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_lyVssNKUQEeIHR-Uba5Wvw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">536000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_hB_X4bx9gUaeUrxFCnp38w_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6181000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_xXFVaoTe7UGo4x31OCr-pA_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15730000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_1wXMBUXr3EW5QFtDBdYpRw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10557000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_oGamNcy_0kqSGrna5Z_9yA">&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin: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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin: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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin: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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&lt;/b&gt;&lt;b style="font-family:'Calibri';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="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Dilutive effect of interest expense of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,649&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,683&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 975&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,221&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 241,753&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,560&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,167,004&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,914,540&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,633,855&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 547,821&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,797&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 794,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 349,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,548,158&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,291,670&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,777,696&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.71&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.02&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.88&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.69&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.88&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.83&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:63.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,743&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_gg4vEusDNUacEwIleBPdiw">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin: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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin: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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin: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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&lt;/b&gt;&lt;b style="font-family:'Calibri';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="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Dilutive effect of interest expense of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,649&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,683&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 975&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,221&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 241,753&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,560&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,167,004&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,914,540&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,633,855&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 547,821&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,797&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 794,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 349,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,548,158&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,291,670&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,777,696&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.71&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.02&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.88&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.69&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.88&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.83&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__8-WY9DIpUGC3LYAHZxZ1Q_6_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rL2_mymcukmqC1U-02aenw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_w1kRj5DnN06C4JlacN89-g_6_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_OZWZSgp4vE6wTCNNrpKJUg_7_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4649000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_IHKZG9CvP0WlLcQAV1PMxQ_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4683000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_nE1IbFdcUE-BGtQdHQk1Lw_7_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">975000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_mNYQBt-Kq0mJC4rFE9wV1Q_8_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">104221000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_mK1XAQh450av4_REpQl0rA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">241753000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_z0MNerDPHUucnCzvSN89Xg_8_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">172560000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_fa9PqI8XqkyK8Bmyx23CDw_10_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58167004</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_XvtIyLnJgEKwVY607yxKnA_10_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58914540</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_IJ9OfbfdCEGh1pSP13S85g_10_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59633855</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_ARzQCHh_UkiQUYMyI-L8vQ_11_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">547821</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_akidnMB71EuQvdAr7VyA-g_11_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">543797</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_v6c9dhzC70qufHJeGMocOw_11_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">794526</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_m-QX_jPF8UyGAOJTfD-iUA_12_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">2833333</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_QYJF-tt84k-O7Fbg2shiKA_12_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">2833333</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_yeu92wUlfE-DTAVR70lalA_12_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">349315</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_Ar2ldiaTMEiUsh8jcH36XA_13_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">61548158</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_qhQkrvyJykW8fApoQAVqYw_13_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">62291670</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_8KFUU-TOE0mZZYb7dx1nIg_13_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">60777696</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_Ery28NVRhEOmxyfvmMFNTg_14_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_LHz4vTYdwkGWOSN9_7VrPg_14_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">4.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_Dak06FabMEuy3Kp13odnHw_14_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.88</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_-BR4NsfQ1USh16f_AdFwww_15_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.69</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_EWueT75ybEm6LcLBOBI_IQ_15_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">3.88</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_SVQlDt7QqEupYAJ1bUmeIg_15_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_LqBzoMgM1Eygu3bSrWCFdw">&lt;p style="font-family:'Times New Roman';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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:63.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,743&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_Dm1sRkFcckWN-haCIZvhOg"
      decimals="INF"
      id="Tc_GyI7bEF1zEWflbpw6LiO6g_3_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">372743</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_gnWVC8J_SUiN4JbVseCmFQ"
      decimals="INF"
      id="Tc_vH0HO-gMSkymadvfSSRVTw_3_4"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">276618</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_DRBcGFZYukGT2d2xWSVHNg"
      decimals="INF"
      id="Tc_qI78pV8FJE6cWII_BL-Jcw_3_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">41950</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NJcdYcZff0y0xPIBhXNARQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The amount due from related parties of $31,232 as of December 31, 2019 consists of (i) trade receivable of $13,930 for development services provided to Roserock, the Company's 49% owned affiliate, (ii) cash funding of $16 to Pilipinas Newton Energy Corp, the Company's 40% owned affiliate, (iii) $17,284 receivable for solar power products sold to ET Solutions South Africa 1 Pty , the Company&#x2019;s 49% owned affiliate. (iv) $2 receivable for asset management service provided to Canadian Solar Infrastructure Fund, Inc., the Company's 14.66% owned affiliate. No amount was due as of December 31, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The amount due to related parties of $10,077 as of December 31, 2019 consists of (i) a trade payable of $7,884 due to Suzhou iSilver Materials Co., Ltd., the Company&#x2019;s 15% owned affiliate, for raw materials purchased, (ii) payable for equipment purchase of $2,138 to Suzhou Kzone Equipment Technology Co., Ltd, the Company's 32% owned affiliate obtained in September 2017, and (iii) payable of $55 for material purchased from Luoyang Jiwa New Material Technology Co., Ltd., the Company's 25% owned affiliate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Related party transactions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Guarantees and loans&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Dr.&#160;Shawn Qu, fully guaranteed one-year loan facilities from Chinese commercial banks of RMB1,346 million ($206 million), RMB1,270 million ($185 million) and RMB1,420 million ($204 million) in 2017, 2018 and 2019, respectively. Amounts drawn down under the facilities as at December 31, 2017, 2018 and 2019 were $135,225, $155,956 and $82,937 respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company granted 77,289, 83,805 and 26,691 restricted share units to Dr. Shawn Qu in 2017, 2018 and 2019, respectively, on account of his having guaranteed these loan facilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Sales and purchase contracts with affiliates&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company sold three solar power projects to CSIF, the Company&#x2019;s 14.66% owned affiliate in Japan, in the amount of JPY 5,889,000 ($53,874) recorded in revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018, the Company sold 5 solar power projects to CSIF, the Company's 14.66% owned affiliate in Japan, in the amount of JPY12,276,404 ($109,597) recorded in revenue, and JPY89,238 ($836) recorded in other operating income, respectively. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, The Company sold 13 solar power projects to CSIF, the Company&#x2019;s 14.66% owned affiliate in Japan, in the amount of JPY18,426,754 ($163,155) recorded in revenue and JPY3,148,648 ($27,879) recorded in other operating income, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, 2018 and 2019, the Company provided asset management service to CSIF in the amount of JPY303,772 ($2,699), JPY247,341($2,210) and JPY 281,094 ($2,573), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, 2018 and 2019, the Company provided O&amp;amp;M service to CSIF in the amount of JPY32,119 ($285), JPY122,529 ($1,105) and JPY 223,598 ($2,052), respectively. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018 and 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company's 49% owned affiliate in South Africa in the amount of RMB45,407 ($6,859) and ZAR586,832 ($40,970), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, the Company sold solar power products to Gaochuangte in the amount of RMB11,352 ($1,648), before Gaochuangte became the Company&#x2019;s 80% owned subsidiary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, 2018 and 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd , the Company&#x2019;s 14.63% owned affiliate in China, in the amount of RMB331,958 ($49,113), RMB512,154 ($74,490) and RMB 350,590 ($50,359), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018 and 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd, the Company&#x2019;s 32% owned affiliate in China, in the amount of RMB41,635 ($6,056) and RMB 61,174 ($8,787), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2017, the Company incurred costs of RMB44,271 ($6,430), to Gaochuangte for EPC services related to the Company's solar power projects, respectively. These amounts were recorded in project assets.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_PHJq2h-v1UOmS1T1L-ou4g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31232000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:AccountsReceivableRelatedParties
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_HPthWxw2UkGL2pQcLaTq3Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13930000</us-gaap:AccountsReceivableRelatedParties>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RoserockMember_-2jDVprwr0iK8v6ezxDy4A"
      decimals="2"
      id="Narr_zn05dD_9z0GBhqFlwDLAZg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:CashReceivableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g"
      decimals="-3"
      id="Narr_I_pbTG-8oUORKry_pFvw5A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16000</csiq:CashReceivableRelatedPartiesCurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g"
      decimals="2"
      id="Narr_0hlaJa-rO0idEo9wvFdNww"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.40</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsReceivableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"
      decimals="-3"
      id="Narr_tpzbdD4grkml-z16bwgCpA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17284000</us-gaap:AccountsReceivableRelatedPartiesCurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"
      decimals="4"
      id="Narr_5OdfYrO3CUuL9weoFRjuqA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_Lni6b2wqT06gMYUtRCWx2g"
      decimals="-3"
      id="Narr_xQWcQj5fW0ex1WUxifPnqw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2000</us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"
      decimals="4"
      id="Narr_wQwNZgHLSkSsNaWH4B08pA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"
      decimals="-3"
      id="Narr_muSOInIM2E-rQfJGU6OBCg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_cXkNqm6LSkSPcU_oDb-Pug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10077000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig"
      decimals="-3"
      id="Narr_e6j8xrxeMUS-iGcM8RgGCA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7884000</us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig"
      decimals="INF"
      id="Narr_JIq4tceyOk23r5ri34mBRw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.15</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:EquipmentPurchasesPayableRelatedPartiesCurrent
      contextRef="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA"
      decimals="-3"
      id="Narr_6WG71r19IkSwl4xwyE4DIA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2138000</csiq:EquipmentPurchasesPayableRelatedPartiesCurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA"
      decimals="INF"
      id="Narr_bwitG7jQj0qTmx82TZjejQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.32</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ"
      decimals="-3"
      id="Narr_lW8-xe8-aESwNu9Zago1sQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55000</us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ"
      decimals="2"
      id="Narr_aMXjCbOYokGg9-vMOVoiwg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:LineOfCreditFacilityMaturityTerm
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_l8u3wbph_0ijd7oXI9NDBw"
      id="Narr_50kY2hetGkC3seanA539vg">P1Y</csiq:LineOfCreditFacilityMaturityTerm>
    <csiq:LineOfCreditFacilityMaturityTerm
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_ywnHsvMKSEqlHMEsWAIgEw"
      id="Narr_Rbty8GZ_GUyfytkgdYmTxA">P1Y</csiq:LineOfCreditFacilityMaturityTerm>
    <csiq:LineOfCreditFacilityMaturityTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_KC4M_b3zxkOYv5EBBchF7A"
      id="Narr_b4vMEEh7eEusjKj1BY36IQ">P1Y</csiq:LineOfCreditFacilityMaturityTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"
      decimals="-6"
      id="Narr_zJEVBkbhCkeI72ZH3Bd_ow"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">1346000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"
      decimals="-6"
      id="Narr_6zNtLIrscUucS8ovXdbhSA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">206000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"
      decimals="-6"
      id="Narr_dqV3eRoxGUy8PSh0uhUXew"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">1270000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"
      decimals="-6"
      id="Narr_fYiBy1vwokGACnDCmU_Xlg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">185000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"
      decimals="-6"
      id="Narr_Irud3ucCoEiOymsHq16eag"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">1420000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"
      decimals="-6"
      id="Narr_7W0WzssOx0qmsdJDhA1pqQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">204000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"
      decimals="-3"
      id="Narr_T4C_-RsTNEaIdN95OQ-5cA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">135225000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"
      decimals="-3"
      id="Narr_R_k5jUyvtUCa-TbYiFpF-w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">155956000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"
      decimals="-3"
      id="Narr_KbOGr5XBZECJYbE_szGCaA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">82937000</us-gaap:LineOfCredit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_aUDIOkC4N0moMgxXHdfJgA"
      decimals="INF"
      id="Narr_TCPF8OGUeUeDJzYBqBusMQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">77289</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_G4WXjlCzGk6tv1QgilDbNw"
      decimals="INF"
      id="Narr_oGeS4gb1fk2zRCxveWbSow"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">83805</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_xlsgy5UOXUyi5N5UhUX8yQ"
      decimals="INF"
      id="Narr_NQrjTWCSk02NG7qJ9xFlJA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">26691</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"
      decimals="INF"
      id="Narr_5yazCXIRMU28-hB8e9sPkg"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">3</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"
      decimals="4"
      id="Narr_yTYm4qDxUE-Qg_QFXdG3gQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</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_PhlHwWuAX0mtNlaTGNFZig"
      decimals="-3"
      id="Narr_c7pS_E-nxECzsLejtw25Xw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">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_PhlHwWuAX0mtNlaTGNFZig"
      decimals="-3"
      id="Narr_2bn12LcvzkGWnd_kX8obzQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53874000</us-gaap:RevenueFromRelatedParties>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ"
      decimals="INF"
      id="Narr_BEIRzVUVFUmqWDSv4odMgQ"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">5</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ"
      decimals="4"
      id="Narr_WNxhVdnwkkSE5NG_3f0-FA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg"
      decimals="-3"
      id="Narr_bNjaz35oDEuh40Ec5_TSYw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">12276404000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg"
      decimals="-3"
      id="Narr_95EHJvmHhkuNKa4_Ws36Yg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">109597000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ"
      decimals="-3"
      id="Narr_PD9nzPRncEeI7X-6V1rKwA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">89238000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ"
      decimals="-3"
      id="Narr_a7ksRDSXZk2R0oQcRPmqOQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">836000</us-gaap:RevenueFromRelatedParties>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw"
      decimals="INF"
      id="Narr_5-jTQqQn1UOqbunc8RbSfg"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">13</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw"
      decimals="4"
      id="Narr_Qo4ExmM0Rk-VROMVVhx3gQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q"
      decimals="-3"
      id="Narr_gx_GKjQTw02ljcNZbAKyoQ"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">18426754000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q"
      decimals="-3"
      id="Narr_qFPADR7qX0KNoS7KMtWvVQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">163155000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA"
      decimals="-3"
      id="Narr_GhrZCo0wzU2EQ7RH0F3DSw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">3148648000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA"
      decimals="-3"
      id="Narr_701x75sd8kWG5RDLuyVX3Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27879000</us-gaap:RevenueFromRelatedParties>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ"
      decimals="-3"
      id="Narr_Hf--dOaeI0KvDyQjrukQew"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">303772000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ"
      decimals="-3"
      id="Narr_5Ib7ubqKyECQ5UEZp0edZQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2699000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g"
      decimals="-3"
      id="Narr_f8OSrR-auEK5wlK7SJKl6g"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">247341000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g"
      decimals="-3"
      id="Narr_ikOrTGXZt0a78cobaL1tRg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2210000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q"
      decimals="-3"
      id="Narr_xgxoqWtY8US5tC9homlpKA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">281094000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q"
      decimals="-3"
      id="Narr_-II3XQ4-MUGgwvKJlmTtag"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2573000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg"
      decimals="-3"
      id="Narr_4lh9N0ioBE6VZ40ablOAIA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">32119000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg"
      decimals="-3"
      id="Narr_0y_aMulCLkOtfPELpHhKgQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">285000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q"
      decimals="-3"
      id="Narr_95IFKNNxDU6FoDtJuBcFZA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">122529000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q"
      decimals="-3"
      id="Narr_jfKeWhl4bk6ZKu2oLl3iIQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1105000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg"
      decimals="-3"
      id="Narr_yiw_aaaogEaXnNLHBmOYcA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">223598000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg"
      decimals="-3"
      id="Narr_6ttxBgYNyUqCwASe5aD9Iw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2052000</csiq:ServiceRevenueFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"
      decimals="2"
      id="Narr_23JLoah4Wk6ePgwCFDRr4A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"
      decimals="2"
      id="Narr_hu_PfnXXkk6xrPMWnLKPIQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"
      decimals="-3"
      id="Narr_TdEQeptFfkygHLf8mkENZA"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">45407000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"
      decimals="-3"
      id="Narr_AYrWzd99pUy_uWZhYzOgSw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6859000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"
      decimals="-3"
      id="Narr_IUFUYw9hCEuG-Ct_5j_Oww"
      unitRef="Unit_Standard_ZAR_CO6Y-961Uk2OBFlKKQofBQ">586832000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"
      decimals="-3"
      id="Narr_dKcauAZ7skmOl3es45b70w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40970000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_r0j9hNLcmke15kbQo_UuOw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">11352000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_BVXIVgQcHU6kTOYgLUiEfQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1648000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="2"
      id="Narr_T9MWvGwX2kGpiH4XU_TM7w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.80</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"
      decimals="4"
      id="Narr_AF8nbwv-K0aXKSMJxah_8A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1463</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"
      decimals="4"
      id="Narr_lG1Qbkgw-UG8Vz_iNpuKLw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1463</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"
      decimals="4"
      id="Narr_J472YvYqw06SVmzNAAUySg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1463</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"
      decimals="-3"
      id="Narr_lGXo5LCd0k6Y5eESaHniPw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">331958000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"
      decimals="-3"
      id="Narr_4Ry6l8F3rECNY_QwmDTlOA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49113000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"
      decimals="-3"
      id="Narr_JGBvdK-XKkmGUcu3wkCvHw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">512154000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"
      decimals="-3"
      id="Narr_8L_HP1dIs0OhSmdjPuavhQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74490000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"
      decimals="-3"
      id="Narr__NheAOzKk0-HCEQKCJrU_A"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">350590000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"
      decimals="-3"
      id="Narr_N3EsV3jCqk-tMgceyKx4GQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50359000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"
      decimals="4"
      id="Narr_qEk51ZJ-ZE6DYRP6f6hhbg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.32</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"
      decimals="4"
      id="Narr_YgQ2J_GxAk66u50mWl5dlQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.32</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"
      decimals="-3"
      id="Narr_RVc1eCjGTUWA0Z-e2EJWhw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">41635000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"
      decimals="-3"
      id="Narr_kguDBwefIkqXOqdxwSd3Ww"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6056000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"
      decimals="-3"
      id="Narr_i7m8s26_kUGSD_VSMLwt8w"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">61174000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"
      decimals="-3"
      id="Narr_MHDKLyDtzUG3tzlzFkW4SQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8787000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_MJMKipP5fE6RNCxZUH2AMQ"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">44271000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_kN47dvFDmkCRCnVILt62rg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6430000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_peSAcJhLB06aK8aUteENFQ">&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2019, the commitments for the purchase of property, plant and equipment were approximately $12 million, and the payment schedule for the commitments is as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,000&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';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Solar power system commitments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2019, the commitments of the service to be purchased for solar power system were approximately $0.8 million, and the payment schedule for the commitments is as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 600&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';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;c)&#160;&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Class Action Lawsuits&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Following the two subpoenas from the SEC in 2010, six class action lawsuits were filed in the U.S. District Court for the Southern District of New&#160;York, or the New&#160;York cases, and another class action lawsuit was filed in the U.S. District Court for the Northern District of California, or the California case. The New&#160;York cases were consolidated into a single action in December&#160;2010. On January&#160;5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New&#160;York action. On March&#160;11, 2011, a Consolidated Complaint was filed with respect to the New&#160;York action. The Consolidated Complaint alleges generally that the Company&#x2019;s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections&#160;10(b) and&#160;20(a) of the Exchange Act and Rule&#160;10b-5 thereunder; and names the Company, its chief executive officer and its former chief financial officer as defendants. The Company filed its motion to dismiss in May&#160;2011, which was taken under submission by the Court in July&#160;2011. On March&#160;30, 2012, the Court dismissed the Consolidated Complaint with leave to amend, and the plaintiffs filed an Amended Consolidated Complaint against the same defendants on April&#160;19, 2012. On March&#160;29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company&#x2019;s financial disclosures during 2009 and early 2010 were false or misleading and in violation of federal securities law. The court found that the plaintiffs failed to adequately allege a securities law violation and granted the Company&#x2019;s motion to dismiss all claims against all defendants with prejudice. On December&#160;20, 2013, the United&#160;States Court of Appeals for the Second Circuit affirmed the district court&#x2019;s order dismissing such class action&#160;lawsuit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In addition, a similar class action lawsuit was filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice on August&#160;10, 2010. The lawsuit alleges generally that the Company&#x2019;s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders&#x2019; relief provisions of the CBCA, Part&#160;XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December&#160;2010, the Company filed a motion to dismiss the Ontario action on the basis that the Ontario Court has no jurisdiction over the claims and potential claims advanced by the plaintiff. The court dismissed the Company&#x2019;s motion on August&#160;29, 2011. On March&#160;30, 2012, the Ontario Court of Appeal denied the Company&#x2019;s appeal with regard to its jurisdictional motion. On November&#160;29, 2012, the Supreme Court of Canada denied the Company&#x2019;s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff&#x2019;s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January&#160;2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June&#160;2013.However, the plaintiff&#x2019;s motions were adjourned in view of the plaintiff&#x2019;s decision to seek an order compelling the Company to file additional evidence on the motions. On July&#160;29, 2013 the Court dismissed the plaintiff&#x2019;s motion to compel evidence. On September&#160;24, 2013 the plaintiff&#x2019;s application for leave to appeal from the July&#160;29 order was dismissed. In September 2014, the plaintiff obtained an order granting him leave to assert the statutory cause of action under the Ontario Securities Act for certain of his misrepresentation claims. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In January 2015, the plaintiff in the 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 dismissed the Company&#x2019;s application for leave to appeal and the class action is at the merits stage. The common issues trial is scheduled for November 2020. The Company believes the Ontario action is without merit and the Company is defending it vigorously.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar 1&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2011, a trade action was filed with the U.S. Department of Commerce, or USDOC, and the U.S. International Trade Commission, or USITC, by the U.S. unit of SolarWorld AG and six other U.S. firms, accusing Chinese producers of crystalline silicon photovoltaic cells, or CSPV cells, whether or not incorporated into modules, of selling their products (i.e., CSPV cells or modules incorporating these cells) into the United States at less than fair value, or dumping, and of receiving countervailable subsidies from the Chinese authorities. These firms asked the U.S. government to impose antidumping and countervailing duties on Chinese-origin CSPV cells. The Company was identified as one of a number of Chinese exporting producers of the subject goods to the U.S. market. The Company also has affiliated U.S. operations that import the subject goods from China.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;From October 2012 to July 2018, the 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, and the first to fifth administrative review results. The results of sixth and seventh administrative reviews are expected to conclude in mid-2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Between 2017 and 2019, the USDOC and USITC conducted &lt;span style="-sec-ix-hidden:Hidden_LgyjbK5sEUOtkHh3zIcJRg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;five&lt;/span&gt;&lt;/span&gt;-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';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar 2&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&#x201c;Chinese CSPV products subject to Solar 2 orders&#x201d; refer 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;From December 2014 to late 2019, the USDOC issued final affirmative determinations and results of the first to fourth administrative reviews with respect to its antidumping and countervailing duty investigation on these CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company will not be subject to the fifth administrative review of the Chinese orders. The USDOC is expected to initiate the fifth administrative review of the Taiwanese orders soon.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC and USITC are currently conducting five-year sunset reviews to determine whether to continue the Solar 2 orders on CSPV products from China and Taiwan. The USDOC is conducting an expedited review, with its final results expected in May 2020. The USITC is currently assessing whether it will conduct an expedited or full sunset review, with a decision due on this issue in spring 2020. The USITC&#x2019;s sunset review will follow this preliminary decision.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In 2019, the Company booked the benefits of antidumping duty and countervailing duty provision reversals of $52.3 million, primarily associated with prior years&#x2019; module sales based on the respective updated rates of the administrative reviews carried out by the U.S. Department of Commerce.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Section 201&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells.  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;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USITC conducted a midterm review of the safeguard order in early 2020, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the Office of the U.S. Trade Representative (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.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In addition, on June 13, 2019 and following an abbreviated public comment period, USTR granted an exclusion from the safeguard measure for bifacial solar panels comprising solely bifacial solar cells.  On October 9, 2019, USTR determined to withdraw this exclusion, effective October 28, 2019.  Invenergy Renewables LLC contested USTR&#x2019;s withdrawal determination at the CIT and persuaded the Court to enjoin USTR&#x2019;s withdrawal due to procedural deficiencies.  In early 2020, USTR conducted a renewed notice-and-comment process in order to withdraw the exclusion for bifacial solar panels. Subject to the CIT&#x2019;s further review, the exclusion could be terminated as soon as May 18, 2020.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;European Antidumping and Anti-Subsidy Investigations&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 6, 2012, following a complaint lodged by EU ProSun, an ad-hoc industry association of EU CSPV module, cell and wafer manufacturers, the European Commission initiated an antidumping investigation concerning EU imports of CSPV modules and key components (i.e., cells and wafers) originating in China. On November 8, 2012, following a complaint lodged by the same parties, the European Commission initiated an anti-subsidy investigation on these same products. On December 6, 2013, the EU imposed definitive antidumping and countervailing measures on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On March 3, 2017, the European Commission extended the antidumping and countervailing measures for 18 months on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On September 16, 2017, the European Commission amended the form of the antidumping and countervailing measures for certain Chinese exporters (but not for Canadian Solar).On March 9, 2018, the antidumping and countervailing measures expired. As a result, since then, the CSPV modules and cells of the Company that originate in, or are consigned from, China, are no longer subject to antidumping or countervailing measures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On February 28, 2014, the Company filed separate actions with the General Court of the EU for annulment of the regulation imposing the definitive antidumping measures and of the regulation imposing the definitive countervailing measures (case T-162/14 and joined cases T-158/14, T-161/14, and T-163/14). The General Court rejected these actions for annulment. On May 8, 2017, the Company appealed the judgements of the General Court before the Court of Justice of the EU (cases C-236/17 and C-237/17). On March 27, 2019, the Court of Justice rejected the appeals. There is no further action with regard to these matters.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Canadian Antidumping and Countervailing Duties Expiry Review&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 3, 2015, the Canada Border Services Agency (CBSA) 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 the Company 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 (CITT) 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 is required by law to review such finding every five (5) years) lest the finding expire. The CITT&#x2019;s finding expires on July 2, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The Company has responded to the CITT with its intent to participate in such review. The CITT will decide by May 21, 2020 based on responses to be received from domestic and Chinese producers whether the expiry review is warranted.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Regardless of the outcome, the Company does not believe there will be a material negative effect upon its results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Please refer to &#x201c;Item 8. Financial Information&#x2014;A. Consolidated Statements and Other Financial Information&#x2014;Legal and Administrative Proceedings&#x201d; in the Company&#x2019;s Form 20-F for detailed information on antidumping and countervailing duties.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-6"
      id="Narr_7AgeIT1eOkqqNC1zA8hDhg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12000000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA"
      id="Tb_uWm6js-vU0CFwiQ0DnAj9Q">&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,000&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';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-3"
      id="Tc_j37s3Q3P90iUOSBTVHEeGg_2_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9000000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-3"
      id="Tc_DiJhneTHoEigEuZldKyPgw_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-3"
      id="Tc_TMuVD2LULUK4AgMAFSXfDg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12000000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-5"
      id="Narr_cw7kpb287UuQJPTxyMPhiQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">800000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_JWRvDsPwUka_T2lsk7qpSw"
      id="Tb_JAsiGiMfgkSMnDFUSHwQNA">&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 600&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';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-3"
      id="Tc_uI49OOVHrk-aRLz0biOI3A_2_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">600000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-3"
      id="Tc_nIVIeNRRpkWlRO0NZV4KUQ_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">200000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-3"
      id="Tc_Lzxo-Z7I7069mYZldpFS1w_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">800000</us-gaap:PurchaseObligation>
    <csiq:NumberOfSubpoenasReceived
      contextRef="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA"
      decimals="INF"
      id="Narr_mF2iqp1s80yWD39DzT7BnA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">2</csiq:NumberOfSubpoenasReceived>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA"
      decimals="INF"
      id="Narr_wzy315Aj7kOxibV2AgKX_w"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">6</us-gaap:LossContingencyNewClaimsFiledNumber>
    <csiq:LossContingencyProvisionReversed
      contextRef="As_Of_12_31_2019_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarTwoMember_oxVnRVPscU2eTy0cveOR8g"
      decimals="-5"
      id="Narr_CgNac6wM6EiIvwBY6VAvJQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">52300000</csiq:LossContingencyProvisionReversed>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ppRyDlzhE0OaJtY-tZeiHg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has been operating in two principal businesses since 2016: module and system solutions (&#x201c;MSS&#x201d;) and Energy. The MSS business comprises primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provides engineering, procurement and construction (EPC) and operating and maintenance (O&amp;amp;M) services. The Energy business comprises primarily the development and sale of solar projects, operating solar power projects and the sale of electricity. The module sales from the Company's MSS business to its Energy business are on terms and conditions similar to sales to third parties. 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';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';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company's revenues, gross profit and income from operations generated from each segment:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,582,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 719,445&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (101,497)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,934,062&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 635,716&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (87,692)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 648,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,729&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,715&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,031)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;p style="font-family:'Times New Roman';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;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:42.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,413,889&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,575,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (244,971)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,923,131&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,302,779&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (256,480)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,969,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 490,758&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 272,815&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 775,082&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 141,609&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 211,539&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 364,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850,859&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 677,470&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (137,936)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,390,686&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,453&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (111,344)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,752,795&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 460,173&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 637,598&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,419&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 159,518&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 269,345&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Income from operations is estimated based on the Company's management accounts as some services are shared by two segments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Europe and other regions:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 232,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 313,167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,066&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,514&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,119&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Spain&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,471&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,811&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,228&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,475&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,295&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,822&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,717&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,144&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,389&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,140&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 698,568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 780,459&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The Americas:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United&#160;States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 628,815&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 852,231&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 388,554&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 339,964&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 395,303&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,004&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,519&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,545&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,108,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,474,657&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,402,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 476,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 874,559&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 620,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 317,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72,552&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;India&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 336,468&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,873&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,893&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,467&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,216&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,254&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 142,962&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,926,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,571,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,018,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';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, 2018 and 2019 by geographic region, based on the physical location of the&#160;assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 824,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 835,991&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';font-size:10pt;margin:0pt;"&gt;Thailand&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 168,280&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 331,931&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 233,155&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 259,197&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';font-size:10pt;margin:0pt;"&gt;Australia&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,960&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,143&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,177&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';font-size:10pt;margin:0pt;"&gt;Canada&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,739&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,899&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,513&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';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,372,703&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,665,670&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar modules and other solar power products&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,551,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,930,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,055,249&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar system kits&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,598&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;EPC services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,423&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M services&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,405&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Others  ( materials)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,612&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar power projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 632,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Electricity &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,236&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,735&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,866&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (EPC and development services)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,978&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,103&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;&lt;p style="font-family:'Times New Roman';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_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_QfVLR3GBmEmicDzO-o9jfw"
      unitRef="Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_V7Z-QrIfH0-Djdpq8g_Buw">&lt;p style="font-family:'Times New Roman';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;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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,582,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 719,445&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (101,497)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,934,062&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 635,716&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (87,692)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 648,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,729&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,715&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,031)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;p style="font-family:'Times New Roman';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;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:42.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,413,889&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,575,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (244,971)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,923,131&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,302,779&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (256,480)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,969,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 490,758&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 272,815&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 775,082&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 141,609&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 211,539&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 364,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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;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:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850,859&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 677,470&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (137,936)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,390,686&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,453&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (111,344)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,752,795&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 460,173&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 637,598&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,419&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 159,518&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&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';font-size:10pt;margin:0pt;"&gt;&lt;span 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.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 269,345&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_3qD9eN5Q-EOqe5V_NgW1Xw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2582635000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_RHDPa8Ps60Kp03Zc32r9qQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">719445000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_jG14VvAcQkG_gtZhMCq_jw_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-101497000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_znFFtqWEP0urcOvtAATZRA_4_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">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_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_gKa3L4Vr9Eum_sJOs442iQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1934062000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_C6ATukrz5UKI4kgCUs1pFQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">635716000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_W2f9A4L3ekKEl29uagNRkQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-87692000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ZpjaDDonkU2OMGaH3EouFQ_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">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_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_S7XqPkLZh0G_lyYDqHeAhQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">648573000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_55-9POooLEelvG2ZZIizBA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">83729000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_tmviJIUk0kapofDL93euXg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13805000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_SYHH5Fb49EqCrnVaVpuRqg_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">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_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_5eSutVWEDkS18cNInYHpww_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">279715000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_AUVJfdfDFEC5_DNeIjuO2w_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7031000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_8_nQiG46pEu_sIiYL_tQRA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13805000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_a6gdbv0hPEeGAFL0sZaohw_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">258879000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_bHbMpSEXAEmOfsYUbd29Fg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2413889000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_v-XYFfN5oUeRiINUDqgmuQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1575594000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_EfoR12e-8UuikR15sntAAg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-244971000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ITtVJVILrUaUVIYnsNjJEQ_4_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_TdDL_HdEQE6pBEBeKmNOdQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1923131000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_Eg7QgmOxOUeKPo4TipYqJg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1302779000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_gG22a9gFN0qeK54wRJ5FNQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-256480000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_c5zk837fLESOtacZBTjMqQ_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2969430000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_i1HylTXJH0queBDS3RSzAw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">490758000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_De8NAst-tkWLTHN7RdDdiQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">272815000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_jbwwtkxTBEWwKH_j1Y74yQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11509000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Lrkthq6fkU6FazNjFnw62g_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">775082000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_ueOOaWGnv0KBhEr9YxP5eQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">141609000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_Jb0q0dhpoU-t6GJtnM6JXw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">211539000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_oNEtIPc07kOoAnx2hDeg1g_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11509000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_aYpvI48Pn0iOZ1lX6GBy9Q_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">364657000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_66D4c2N3M0y41snwBQggPA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2850859000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_iip5LzOarEy9Yz-0vPabTQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">677470000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_Ed19-cBykUOcT6hEuKv6VQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-137936000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_QclJZx6VuU-CXQEU5NKV8g_4_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_--kVGIRlpkedhAKMt7ouKQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2390686000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_JRVns0UlaUyDx8QSVBujoA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">473453000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_NxILgZ-tFUiFR8mICFOH1Q_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-111344000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Zh9AXrBH4U2kmuTPrfnUBg_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2752795000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_Gl48UalLEk6urhhjazRy3g_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">460173000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_-ZNL3huygk-y1e2opDtU7A_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">204017000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_zZy94YnynkCtvTvtGnujnw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-26592000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_hXi-spM2kkCCfIQRblFoYw_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">637598000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_iBQX72vBH02-Lc3rzqxhXQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">136419000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_jtzVXUP7vUCLEauevZCr7g_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">159518000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_NofXsoby8UqBnQAmq6OD3Q_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-26592000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_zmbBijCoyE28m6adi7GQgA_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">269345000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_rKxASc6sYkWJRWULv50lpA">&lt;p style="font-family:'Times New Roman';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Europe and other regions:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 232,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 313,167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,066&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,514&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,119&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Spain&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,471&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,811&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,228&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,475&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,295&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,822&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,717&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,144&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,389&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,140&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 698,568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 780,459&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The Americas:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United&#160;States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 628,815&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 852,231&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 388,554&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 339,964&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 395,303&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,004&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,519&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,545&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,108,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,474,657&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,402,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 476,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 874,559&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 620,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 317,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72,552&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;India&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 336,468&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,873&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,893&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,467&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,216&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,254&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 142,962&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,926,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,571,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,018,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AU_SoHhxh_NGU6yBVUnS_MUFw"
      decimals="-3"
      id="Tc_0L48f1RTwUauymCxNEFetg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">48069000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AU_WhjPgpmcVEGkwi8ZoKfbSQ"
      decimals="-3"
      id="Tc_jQ5vHAKjvUCfLHjVWB6imA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">232409000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_mP9RmJvqoEi_iEyijKAsww"
      decimals="-3"
      id="Tc_CZhXcObOYEiIwaJ9Y3fQ1w_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">313167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_DE_N6R1JQgIyUOG3tjqHgfgkQ"
      decimals="-3"
      id="Tc_gSx4jaUy5kStPbbHrlaSJA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94066000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_DE_gM0QNQwhW0aazSi2LBiFlA"
      decimals="-3"
      id="Tc_0sWTXkCAckmiMv1zO0KthQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">95514000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_pEX-6nGZtEqtHg6tTpwizQ"
      decimals="-3"
      id="Tc_jhecgOrsC0a5cXZ5JzrjEA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">109119000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ZA_805HHYc7dE2OJbd-rAIfLQ"
      decimals="-3"
      id="Tc_YQvYVgMFYkadNXDimLQ25w_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21916000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ZA_uUyP59nHcEyI4Cg6E3MZBA"
      decimals="-3"
      id="Tc_qB2q7maZG0mAh2pmZ0Km-A_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53739000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_EDEe0_34L0SF7rQ0Ha1HRg"
      decimals="-3"
      id="Tc_bmUZAI1-HkqyU3cm-1Bkow_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93911000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ES_acpMfxiQr0uEK5wDTO2jew"
      decimals="-3"
      id="Tc_hVPjHJzzmk-TRb0NVW3lrg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13471000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ES_ix1-uZWpC0KehDwsV3HQGw"
      decimals="-3"
      id="Tc_rVSRcTFf4UCpw6XyJKEVLw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">58811000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_tt5tG8UWyESYvceH87u3fA"
      decimals="-3"
      id="Tc_odVRxYUR4kSDYtG_iIxQug_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">78228000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_NL_X5iF715vQUOJLEbth3zAZA"
      decimals="-3"
      id="Tc_NWElcgqfbkGHMwHtBTEJ7w_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51357000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_NL_LviJyIWt-UyI178sCn-2Cg"
      decimals="-3"
      id="Tc_VDyeO1fj6E25N5PtZZcJdg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">83475000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_drdGL4vt0UixZBlgne8zNw"
      decimals="-3"
      id="Tc_PYZfAYgDH0q9mBJWgSotpg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68770000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_GB_sXapV1HYBE6KheFFxTkZbg"
      decimals="-3"
      id="Tc_IZD3drpaY0C-XwDCsPsRAg_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">48295000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_GB_WffZC1OSBEeoB_1tRDIGjA"
      decimals="-3"
      id="Tc_qjPlNIBWFE6blvrdOEco9w_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">101479000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_33vlVAFBQ0uX7lJ4a9jeXA"
      decimals="-3"
      id="Tc_Bu3sa0d5Pk6w1F3AG2cAKw_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33158000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CZ_w_0XDhCqFEervnIpumeH3w"
      decimals="-3"
      id="Tc_XQpV4hNrnUuSlJxSs4nDrQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10822000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CZ_1icskwoZwUGWzVTxVLFN5A"
      decimals="-3"
      id="Tc_J6tkOln53kC8E7lWHbm8gA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17411000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_WF9AKKMK8EquIwH4a4LDYQ"
      decimals="-3"
      id="Tc_L_sRX6IYmUuequET7FBBWQ_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17717000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_8uZph1D4i0-8JH1jLFU05Q"
      decimals="-3"
      id="Tc_fiD-mf3unkGQY4e9LL1gWA_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_bu3oD5kEYkOOPb3yoe3diA"
      decimals="-3"
      id="Tc_1tzLCPosWEqAnrAZP6Sz0Q_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55730000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_qYwOGPrz_UCpF5Qq0SzF4Q"
      decimals="-3"
      id="Tc_lqZesIihM0S-l3XMdw7JUg_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66389000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_EuropeMember_tgAO1xUv6EKUG-9XVQXD_g"
      decimals="-3"
      id="Tc_U6lBz5mc3kaPj2t48Lw4og_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">356140000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_EuropeMember_LKX675WZ4Ee6-R9POmy13w"
      decimals="-3"
      id="Tc_8nWk2zJOK06xACwGV7z6rg_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">698568000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_Jv9VNCoqxkqZTvkrmGVb1g"
      decimals="-3"
      id="Tc_dMvya2APsEiBgmXeZHAZyA_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">780459000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_US_12B3vdfbFU-6svBHY67Amg"
      decimals="-3"
      id="Tc_TTjRjoPTT0qGGNVzciMTPQ_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">628815000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_US_caMAoHablECSOnmyrNHQOg"
      decimals="-3"
      id="Tc_cDJbsg1e2EGnyHqL7w8AIg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">999144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_vabopVan5UKJQ0_ZXkQ2AA"
      decimals="-3"
      id="Tc_BGLdMC-rkEaTi6WsQP9HNw_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">852231000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_BR_9NFUL80BJUeYoge8NrRSxQ"
      decimals="-3"
      id="Tc_pgi_IzX07kKafSxgGZ0R3Q_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">388554000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_BR_d3j6JEMjLk2Snls_WCnloA"
      decimals="-3"
      id="Tc_Olk4A8h2I06XK80w31F28A_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">339964000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_YVsDomG9TUqIcG2mSb8ICg"
      decimals="-3"
      id="Tc_v61KdAhZoEK12JLe83wZnQ_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">395303000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_MX_9PjPnag4iEyJRdPBRzBF2Q"
      decimals="-3"
      id="Tc_QWlDXvB-IUCciCzicCCzMg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5274000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_MX_t4zlw9_wq0WNrDlpU2SgKw"
      decimals="-3"
      id="Tc_zFKQp51j1UWLG_sOAnrzMA_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50004000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_cXPFmr4sHkiFAFyP4VqDBA"
      decimals="-3"
      id="Tc_TDBBINrHwE6ot3E-5U0CWw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94446000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_5zYZtKtTIUOZcyeObpaoZw"
      decimals="-3"
      id="Tc_JbyZMh6HqkWL3UvLCWfkfw_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85519000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_Ht53i2sfnE6nv9cfRa3j6g"
      decimals="-3"
      id="Tc_vaQDhxiuMkaS_Sj9E55hjg_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85545000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_XsJ_CDavgkaSEgfCZEhfUA"
      decimals="-3"
      id="Tc_Wj0oEW8PdUeTNtaluB4G1A_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60061000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_AmericaMember__GE_yzKpwUGxVu4sUCxzdQ"
      decimals="-3"
      id="Tc_MJdgTxMmh0a6Z9MBzz9vog_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1108162000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_AmericaMember_uJMI8LHFYEupnrSPxYPeoQ"
      decimals="-3"
      id="Tc_izN-jj6F2UeNcd9hgaY3Dg_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1474657000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_5FGYhx7wNUGv0RVedt7KOQ"
      decimals="-3"
      id="Tc_Gmd5b-45nU6TtpJ5SOHWzQ_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1402041000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_JP_JMGL2-bOJ0-oUNuHEQh6bA"
      decimals="-3"
      id="Tc_PyWY1WOEREy_rY8yRIW6vQ_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">476946000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_JP_XUUj4F2VDkuqacUoSWbQUA"
      decimals="-3"
      id="Tc_3TwUOukE40ieySvVbN-pcw_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">483041000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_ykEckAptt0mm-0ImnQ9y8w"
      decimals="-3"
      id="Tc_zV7Z3UOn3kGvPEoHnVqLYg_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">372687000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CN_6w-s1NPKqUWlqEQvD5m3AQ"
      decimals="-3"
      id="Tc_l0f0p1MMtEyssdBM0xeKSA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">874559000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CN_uLe4gp6Oi0yZheHzFVivAQ"
      decimals="-3"
      id="Tc_ueoDkdEIkkenfuwgM1-_vg_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">620520000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_-Ia16BaKeEKeA84eTeqCUQ"
      decimals="-3"
      id="Tc_mBtSWzv39U-hHzDdc9hvmQ_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">317077000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_KR_6LcDT-MJpU-CVoZxdut2cA"
      decimals="-3"
      id="Tc_YByYhliKu0OzZhAtYt4cTw_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25244000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_KR_DPeVD3afB0KkWsgINr0Onw"
      decimals="-3"
      id="Tc_ftqq5gYrqUqFRXlQz63bpg_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">46697000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_PIEg9t9PjE--bkBZ0G5fjw"
      decimals="-3"
      id="Tc_fd7rAGVyoU-UaskZCnLLLg_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">72552000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_IN_qen0-4xKj02Fwt10wBVtcg"
      decimals="-3"
      id="Tc_TxmY36Oe4EqJf6qdsVwdcA_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">336468000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_IN_9_mun8G7oEGrbTVhV691sg"
      decimals="-3"
      id="Tc_6a4kZ8MtTUmkFHhML8cG3Q_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">145873000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_xPRZ0oF6A02B8ZfXi7pn8g"
      decimals="-3"
      id="Tc_Q4YhBnVFBEijDH0EwR1tRw_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70893000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AE_hmZcJO2dMUCEGNVVFjwwHA"
      decimals="-3"
      id="Tc_CB0GtBmgKE-g459tcWBU2w_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">91991000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AE_lX3UZ-F5ykie9x0OHlTJTA"
      decimals="-3"
      id="Tc_FN-E5C_tZUaxiVupcoSQfA_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">104467000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_QQgI5Og-fEmQGwpRDfHKWg"
      decimals="-3"
      id="Tc_v8lGTEwbM06OIrfgAhVu6g_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43311000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_VN_CjZbdql7cE-sMM97Y-Zyag"
      decimals="-3"
      id="Tc_z6ADyT_fr0COn9lUYBy1nQ_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">462000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_VN_MQK-jVPiLk60aWKpuNOsIQ"
      decimals="-3"
      id="Tc_vhNOktXBpkSMVhe409Ed_A_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4216000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_wU-9NyRM_E-BkCPIiKwPCw"
      decimals="-3"
      id="Tc_ddlDsCE3_kut3DNvuzMEuA_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39268000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_TH_q2bNftrmsEC-mTf22RJ2UA"
      decimals="-3"
      id="Tc_bTodDtLIjEuiFrii_7al1A_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_TH_q6PAt4QPWEugXEP-Ft3JiA"
      decimals="-3"
      id="Tc_NazCGdPod0yNtvZVJCS4zg_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23511000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_H8Zl3MDCsEu2zEbjCdz5QQ"
      decimals="-3"
      id="Tc_YtL6mWxjgEit93luGpZZhA_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12753000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_DwQYsrPBD0Kc2WODcRZvUA"
      decimals="-3"
      id="Tc_d9r12mbGV0CSWws0WZmiyA_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">116254000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_apDDsSNSE06sSz-TljVMBQ"
      decimals="-3"
      id="Tc_-TkSieMfBE6BACHnEaCmFQ_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">142962000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_szgko6j4vkyZa9JArkkKkg"
      decimals="-3"
      id="Tc_3aYs-7C6_k6WJc4rENfCUQ_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">89542000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_AsiaMember_NJE3Cf3WxUKgT2YSiUIAPw"
      decimals="-3"
      id="Tc_v4EQZ5vT8UiYDiblqzx3lA_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1926091000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_AsiaMember_MDFr8DipeU2sC74Vlyh5RQ"
      decimals="-3"
      id="Tc_hwxyFffTC02hS5kgJxrJTw_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1571287000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_9hYzK6aiM0uiKlmxr2_kzQ"
      decimals="-3"
      id="Tc_HDGSu_cDhECxU1SZKJZ49g_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1018083000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_pugg1EziiEmVZkEx3nr7cw_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_xmvYIVLOH0-rVfKpI2XGsQ_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0Ol4MDx6AEySCKwdlbTbgA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_XVk6H_4NLUWMZHryxMrmVg">&lt;p style="font-family:'Times New Roman';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;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 824,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 835,991&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';font-size:10pt;margin:0pt;"&gt;Thailand&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 168,280&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 331,931&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 233,155&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 259,197&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';font-size:10pt;margin:0pt;"&gt;Australia&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,960&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,143&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,177&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';font-size:10pt;margin:0pt;"&gt;Canada&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,739&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,899&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,513&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';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:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,372,703&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,665,670&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CN_8QHe23S1wEmDHOVLkyKoDw"
      decimals="-3"
      id="Tc_c0NRU8C8lU-kIzzING2jVw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">824618000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CN_B76wqxJKvEG44LSF0wo4fw"
      decimals="-3"
      id="Tc__ZGZnjQRdUOGAROt4kn31Q_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">835991000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_TH_CdH4jtehD0qIrFCVEVYvpg"
      decimals="-3"
      id="Tc_iiwaKayfAE6jF8PxK-JfyQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">168280000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_TH_XYa-8aDFLkKERupC5kcUJw"
      decimals="-3"
      id="Tc_4QhLKgcRkUa1iho9GYPWDg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">331931000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_JP_CYyjx4dYl0OJaDub1M3ftw"
      decimals="-3"
      id="Tc_83QeFBPc20m0s2ZLg3B0wQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">233155000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_JP_OjahXlXA9kah_5sEOE1_sw"
      decimals="-3"
      id="Tc_Va7JP9dy3k-bRfO54fe2Lw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">259197000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_AU_Nm5oegU_EkiVgv7jr2CAuw"
      decimals="-3"
      id="Tc_OYqNAM_FHkeVcHNIB3A9zg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61960000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_AU_RIqer513PkaoLhr2QRb8GQ"
      decimals="-3"
      id="Tc_8SZYP9Jz9kSwaQMCueQMOA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">63143000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_US_nuaZvVimREiHosfkFDvShQ"
      decimals="-3"
      id="Tc_KWm0rl4u3UuhrV2QI1w-qw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50052000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_US_ci8yVRiKm0SR3Ns812lcFQ"
      decimals="-3"
      id="Tc_RnKmOAn740qzpVVE1AS3kw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60177000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CA_9QNKGZPwHk-4O0zYdd3Jdg"
      decimals="-3"
      id="Tc_Oc-o9_ML70yvmwgl4atHsQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9739000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CA_Q3b3UZYpqkipqcdSRFHXwg"
      decimals="-3"
      id="Tc_J6le_vWF-k2g2Nt8bw13HQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14718000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_P3hRQm14QkKPIjv8WO8Lyw"
      decimals="-3"
      id="Tc__MBxt3Lde0uya7nOa2jF1Q_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24899000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_BeLi6GE5Kkua1QXqTu8NAQ"
      decimals="-3"
      id="Tc_Q8_DdxZ8fEGE65o-4Nxw8g_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">100513000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Uh-0ul1krU-bAVHU5BdtkQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1372703000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4JVMknYhoki8Yo3MNmneGg_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1665670000</us-gaap:NoncurrentAssets>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_rrU_nRBXw0O9BqETDb3GvQ">&lt;p style="font-family:'Times New Roman';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;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.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar modules and other solar power products&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,551,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,930,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,055,249&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar system kits&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,598&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;EPC services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,423&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M services&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,405&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Others  ( materials)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,612&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar power projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 632,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Electricity &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,236&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,735&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,866&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (EPC and development services)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,978&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,103&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/table&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_8By5ZzvkfE6TGaiODLMwTA"
      decimals="-3"
      id="Tc_WQtC2gH9IkGH0GjnPF2TYg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2551509000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_1efr7KS9TESwBqdLnUWc8g"
      decimals="-3"
      id="Tc_GLgM45o-qE6T1kkGq9I0Rg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1930701000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ"
      decimals="-3"
      id="Tc_HQE1dUKA-EeLqdTUGnWp4A_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2055249000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_mgGNGOEeW0WVEY00FmdVww"
      decimals="-3"
      id="Tc_hQbICY54QUSEYLBihHn9cw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">84598000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_inRuy9zgMU2nigTwevswNA"
      decimals="-3"
      id="Tc_EN8Zg08gVk2Iqztavby7xg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93253000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_S0_yC5ixgUCpZ6LpleB0lw"
      decimals="-3"
      id="Tc_9UCg-VnBqUmXV3deAV-mXA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">116449000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_jK8Cjotp20ag5c73nNPEoQ"
      decimals="-3"
      id="Tc_Rg2gBKbC0kWvNrZLwYHDZw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62408000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TVI-7bk6PUiQYiiW9AILEA"
      decimals="-3"
      id="Tc_nE2FuXSneEqfH5nKnYoW6Q_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">223423000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Wr03CnxDl0aEVR8LQLtaBg"
      decimals="-3"
      id="Tc_x_Qr9sIPv06nikOFPpeRLA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6938000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TALXTvTgy0W8IszHpFgmRQ"
      decimals="-3"
      id="Tc_h7ICDZv9X0CbtU19IFiMLw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10767000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_YYaFLG39WEudn0cpmISFqg"
      decimals="-3"
      id="Tc_2Y60jVf_uUuwFzllNE2GIw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19405000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_JqnZklJnI0Sq1a_O9UbcSQ"
      decimals="-3"
      id="Tc_aDaYLGuiyEiFpf-O7-Obfg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69878000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_qa_qj8UtdkGC6Cnxgsbxww"
      decimals="-3"
      id="Tc_-OoJH4U7c0qM__cso_zDxg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71789000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_kMo41JwU_0GEjXwpPX6ehg"
      decimals="-3"
      id="Tc_L7Y6vGr8-UaZiC34e_VX3Q_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66612000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_e8foUq8S7UmLlo8wmQmWKw"
      decimals="-3"
      id="Tc_qXBcm4X7_kCf29Nj5wnadw_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">632256000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_b9UdPTWHcku8x1BMOch-rQ"
      decimals="-3"
      id="Tc_1HqvQBq_w0W4F-MtiSiSQA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1542906000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_btHWDCifV0SU4SHlhH7mzQ"
      decimals="-3"
      id="Tc_GN6zYmUSaE-WEFC7wySGkg_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668476000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_l08olw2opUStWzJNDnir1A"
      decimals="-3"
      id="Tc_vd7H6Ba1ike91AFQzHbOGw_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29236000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SnS3FU17kEGCSsVbakhkhg"
      decimals="-3"
      id="Tc_YGyJfBwd7km_nssWh7arHQ_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8735000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_kUWlIl6A4Uy6KbjwFpDY2w"
      decimals="-3"
      id="Tc_yW5D75f1r0mUJ1Zp6W33TQ_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5866000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_WVTBv-zEEkK-i3er-mvy8g"
      decimals="-3"
      id="Tc_QiGY2cPg-UiaOSZVnaXdMg_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15978000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_iAkG1oAo6UCqNLKFdrE8sg"
      decimals="-3"
      id="Tc_PfMjbJHr90C3rr5H1KHvXQ_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23953000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_VQaDkqyo80uf96BSRUUidw"
      decimals="-3"
      id="Tc_ssQpecR-bUW9gFronMZkVA_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45103000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__A0kK1X6OUyX8Rj-v-l2-Q_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Ou_VeZl74Ei8_dqb7y6d3A_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KJrskBtFeEWRYGjpz3WBtA_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:MajorCustomersDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NiG_ge4dz02irquSwPwVWQ">&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Details of customers accounting for 10% or more of total net revenues are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Company A&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 718,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;23.&#160;MAJOR CUSTOMERS (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The accounts receivable from three customers with the largest receivable balances represents 17%, 5% and 4% of the balance of the account at December 31, 2019, and 12%, 5% and 5% of the balance of the account at December 31, 2018, respectively. The balance from the customer with the largest receivable balance is $59,224 and $74,376 as of December 31, 2018 and 2019, respectively.&lt;/p&gt;</csiq:MajorCustomersDisclosureTextBlock>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_FjZ00NKU4kq594r0mVQZZQ">&lt;p style="font-family:'Times New Roman';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;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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;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';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Company A&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 718,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CompanyAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WvHAcmeQFUqFMo8sQcW59g"
      decimals="-3"
      id="Tc_bShMUcryT0qEwjy78mXLdA_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">718341000</us-gaap:Revenues>
    <csiq:NumberOfCustomers
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="INF"
      id="Narr_Ft3hx5Pq5kmx2WhTSD9qaA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">3</csiq:NumberOfCustomers>
    <csiq:NumberOfCustomers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_WZ1H1v7H1UOduz0M-_WNDA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">3</csiq:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_1bYGB9AGo0SbTP0BHNbItA"
      decimals="2"
      id="Narr_IaTLNefwIkm3vp_lxyVIUg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_2CC3aRMbdUeLqTuW5RvP0g"
      decimals="2"
      id="Narr_tqMl68RzvUi7L9LqHv4f6w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_xBLTo-0DN0e2e2pak5UCvQ"
      decimals="2"
      id="Narr_Od1LzKosykqvejiJ9CeTGw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg"
      decimals="2"
      id="Narr_1lA3qnAXA0ecfG30NPE2_A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg"
      decimals="2"
      id="Narr_I38aCeO_wkqlbaOlzOnqFQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ouRLNsx2YE2ZYX55F6ryjw"
      decimals="2"
      id="Narr_8MA9ZCmdXEav4KWCLmW8mg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_KorWr0kIjUOgBI3b-e70kA"
      decimals="2"
      id="Narr_BYeENI_DVUmeCeyg-_T-xg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_lP-g-aEimEi3Xo0Wx7M7Og"
      decimals="-3"
      id="Narr_D7y577YIGUurihtBgrLYhA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">59224000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_MzpFZC4xc0SsOrqWET8WEg"
      decimals="-3"
      id="Narr_2SAuCZRhBkWQvEt8Rv7kfw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74376000</us-gaap:AccountsReceivableNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_VWY-QS7v9Eee2o2G1BLy5g">&lt;p style="font-family:'Times New Roman';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';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 2019. The expense incurred by the Company to these defined contributions schemes was $9,412, $12,544 and $11,738 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In addition, in 2019, 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 $10,447, $11,211 and $11,409 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_MSwd8MDB-kmp0At3iviKdA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.16</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_FHwWN7tgjUe1DsvXhS_Cwg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9412000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_ApVb9g6eI0Kr_tQgnaiJvQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12544000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_arBGBr9Ao0ihLoLxeDJkYg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11738000</us-gaap:DefinedContributionPlanCostRecognized>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="2"
      id="Narr_mpLARckWmEiOWtJuztuj1A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="3"
      id="Narr_ceQyAYmEYUykoJ5vShcpig"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.085</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_hrVE6QppYkSC1DYv5yzBXQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.08</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="3"
      id="Narr_7CKd_RWRYEiomP0cKLKqGg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.005</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="3"
      id="Narr_fEvj282DokCHYVI3zF4wJA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.007</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="3"
      id="Narr_le-y6PxiyEeZumdkEu22eA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.009</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="3"
      id="Narr_f6ifGT4agUmRbnK8AYu1bg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.025</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_Q4_VHlkwDEOoeaTSw7muwA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10447000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_-5CGXLV3NUa4vb2Nxsa8_Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11211000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_1uMCX67JoEeFPfJ3GVlk4A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11409000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_V14ch7GR_06I5h1zopT9Nw">&lt;p style="font-family:'Times New Roman';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';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. The Plan will expire on, and no awards may be granted after, May&#160;8, 2021. 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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Options to Employees&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;During the year ended December 31, 2019, 103,723 options were exercised with a weighted average exercise price of $8.47. The total intrinsic value of options exercised during the years ended December 31, 2017, 2018 and 2019 was $605, $256 and $1,422, respectively. As of December 31, 2019, there were 120,779 options outstanding with a weighted average exercise price of $10.97 and weighted average remaining contract terms of 1 year. The intrinsic value of outstanding options as of December 31, 2019 was $1,344.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;RSUs to Employees&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company granted 1,033,001, 759,702 and 706,637 RSUs to employees in 2017, 2018 and 2019, respectively. The RSUs entitle the holders to receive the Company&#x2019;s common shares upon vesting. The RSUs were granted for free and generally vest over periods from &lt;span style="-sec-ix-hidden:Hidden_KLLxw-9sJkO8VDGPXSoRVQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;one&lt;/span&gt;&lt;/span&gt; to four years based on the specific terms of the grants. The fair market value of the Company&#x2019;s ordinary shares at the date of grant resulted in total compensation cost of approximately $13.3&#160;million, $10.2&#160;million and $12.2&#160;million that will be recognized ratably over the vesting period for the RSUs granted in 2017, 2018 and 2019, respectively. In the years ended December 31, 2017, 2018 and 2019, the Company recognized $9,314, $10,258 and $10,682 in compensation expense associated with these awards, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, there was $20,507 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 2.27 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;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;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:65.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,781,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.18&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Granted&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 706,637&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18.05&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (696,853)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.40&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Forfeited&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (131,288)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.01&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,659,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.26&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The total fair value of RSUs vested during the years ended December 31, 2017, 2018 and 2019 was $12,091, $10,242 and $10,733, respectively.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA"
      decimals="INF"
      id="Narr_gA1F2s-UykWtrQ3IeBjNDg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">2330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA"
      decimals="2"
      id="Narr_OmVV2q_GuUCztDA7JLu0ug"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.01</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA"
      decimals="3"
      id="Narr_GNrhmVpEmE-LPs3dJo-PNQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.025</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_Wo1jtgtISkik7KAIEMudhg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">0</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_qmwZxNO0HUS7B2SFF2f27Q">P10Y</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      decimals="INF"
      id="Narr_IAhnpME2YU2xgmgyPgRbjw"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">103723</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      decimals="2"
      id="Narr_ZHRH4G2KKE2_i6S64M_oAg"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">8.47</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_N3V72htU2Emg9we-C9dySg"
      decimals="-3"
      id="Narr_4QiSx357u0KGfjsloz7CSw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">605000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_QEXzSH-1-06e6Rd58cRzIA"
      decimals="-3"
      id="Narr_dKRl6hhIVEyQkdz91rOeoQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">256000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      decimals="-3"
      id="Narr_Fvl66-Kh-0uwPwB_jSP5tw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1422000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"
      decimals="INF"
      id="Narr_zoQbADT1MkCz2ef4b0tq8w"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">120779</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"
      decimals="2"
      id="Narr__daD6Gkw90WgqO5A-dOZOw"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">10.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      id="Narr_89ZHNx59PE-SRr9xmEaO4Q">P1Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"
      decimals="-3"
      id="Narr_28JKSgq0fE6QwSEgNO5L_A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1344000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="INF"
      id="Narr_42RQ_wd_Uke4SwNxKtf5wg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">1033001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="INF"
      id="Narr_v_3wDck8Q0KRSA3bqL2exg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">759702</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Narr_7Cg7S-e4jkuIKqW94So82A"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">706637</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_P61IRcsLDEeNAKDB_BdacQ"
      id="Narr_gF3YUiUmCUS2onsQcdwPdA">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_doPPpFZ3-0SMtFKuRd9nBQ"
      decimals="-5"
      id="Narr_shHDDxPWO0qfl21vZI90Ug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13300000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"
      decimals="-5"
      id="Narr_nbfZSNZy7UCPf5u_oV_x8g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10200000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="-5"
      id="Narr_9uv4iP3iw0-lfcr2qYTqlQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12200000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="-3"
      id="Narr_V12cY9NtrEqs8ZfNDqsq1g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="-3"
      id="Narr_4ijc1ELufEe-BwaFd4Qt2g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="-3"
      id="Narr_dsoqnW1IyE6eHjt5pwH6tw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="-3"
      id="Narr_vDM7liQFGkG6omq1nh2UOQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="-3"
      id="Narr_xo0VfLS0n0KH44b6SkIdaQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="-3"
      id="Narr_rQ1hPlmK7EiZbp2ghwmFEw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20507000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      id="Narr_dKpVcMyewkaoKibgnZy_jQ">P2Y3M7D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_Nge53hvTFEmjcJwSbOEKNg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;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;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:65.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,781,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.18&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Granted&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 706,637&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18.05&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (696,853)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.40&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Forfeited&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';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (131,288)&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.01&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,659,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.26&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"
      decimals="INF"
      id="Tc_Jy7IPO1er0-VYvSQPkLE2g_5_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">1781271</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"
      decimals="2"
      id="Tc_KkiMOIzK30-LR0S-thEtDw_5_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">14.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Tc_LKTIampofkqXinZEk-3e2g_6_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">706637</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="2"
      id="Tc_2kUBsU38XUe7GRK86ufNng_6_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">18.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Tc_nqjVa6yqxUqCfrO5rmNVng_7_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">696853</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="2"
      id="Tc_tXUnfnedYkKyykouF-LOfg_7_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">15.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Tc_XtvAPielj0ujdBYpLFAcPw_8_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">131288</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="2"
      id="Tc_1sKPTx4Chk668fvtPBDEww_8_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">15.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="INF"
      id="Tc_KWIa4BwaDEek-iW6w4GxOA_9_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">1659767</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="2"
      id="Tc_j6aW3JMCm0K-RwZxoWEk4w_9_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">15.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="-3"
      id="Narr_hRxEqEfQ-0SdYJCPOm9fDQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12091000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="-3"
      id="Narr_4xmIxZLdlUSmffkh8W4CTw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10242000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="-3"
      id="Narr_Uy-tkTEX0EO1sBww5zo5ag"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10733000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_xCVjgmmxHkafuf1EHATO0g">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;26.&#160;SUBSEQUENT EVENTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In the first quarter of 2020, the Company repurchased additional  &lt;/span&gt;381,330 shares with total costs of $5,963&lt;span style="white-space:pre-wrap;"&gt;.  The Company repurchased &lt;/span&gt;990,846&lt;span style="white-space:pre-wrap;"&gt; shares in total so far under the share repurchase plan authorized by its Board Directors on December 9, 2019.  These repurchased shares have been cancelled and retired.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In early February 2020, the World Health Organization declared the outbreak of novel coronavirus, or COVID-19, a Public Health Emergency of International Concern. The outbreak of COVID-19 posed significant challenges to many aspects of the Company&#x2019;s business. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. The Company is taking mitigation strategies to reduce the adverse impact of COVID-19 to its business. The COVID-19 situation remains fluid and the Company will continue to monitor it closely to assess the potential impacts. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;On March 27, 2020, the U.S. President Donald Trump signed into law the &#x201c;Coronavirus Aid, Relief and Economic Security (CARES) Act&#x201d;. The impact of the CARES Act could be material to the Company&#x2019;s business in the U.S. The Company is in the process of evaluating the impact on its operation as further IRS guidance would be issued to address these complex provisions under the CARES Act.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w"
      decimals="INF"
      id="Narr_9SpPWj3O2Ey_Luu21eXQuQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">381330</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w"
      decimals="-3"
      id="Narr_ZB80tq08vUGoA0GEqdjgDQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_11_29_2019_To_4_28_2020_us-gaap_ShareRepurchaseProgramAxis_us-gaap_RepurchaseAgreementsMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_sy5gVf4_dEiZgBZmeVnTOw"
      decimals="INF"
      id="Narr_k-gI7v3NME2pZpOq3ShoBA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">990846</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ygRCDgdwHkCVMzM3DsK6Fw">&lt;p style="font-family:'Times New Roman';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';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';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, changes in financial position 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, 2019 of $497.2 million, exceeded the 25%&#160;threshold.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;BALANCE SHEETS&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;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.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;ASSETS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,097&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,362&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Restricted cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December&#160;31, 2018 and 2019, respectively&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,476&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,039&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 341,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,222&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 314,834&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 353,715&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Investments in subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,154,004&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,383,935&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,208&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,068&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL ASSETS&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,565,114&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,832,860&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,903&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due to related parties&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 154,765&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 340,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Derivative liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,879&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,713&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,531&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 298,230&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 353,749&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,779&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,936&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL LIABILITIES&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 339,642&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 439,726&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Equity:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Common shares &#x2014; &lt;span style="-sec-ix-hidden:Hidden_284MyGL-aE6ozlnSTlAw9w"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;no&lt;/span&gt;&lt;/span&gt; par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares &lt;span style="-sec-ix-hidden:Hidden_ffv6suZ42EGOZd8DQLEmVA"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;issued&lt;/span&gt;&lt;/span&gt; and &lt;span style="-sec-ix-hidden:Hidden_bDjIoFvvgEKgVvWhVd5AnA"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;outstanding&lt;/span&gt;&lt;/span&gt; at December&#160;31, 2018 and 2019, respectively&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 702,931&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 703,806&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Treasury stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span 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.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,845)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Additional paid-in capital&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,675&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Retained earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 622,015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 793,601&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Accumulated other comprehensive loss&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (110,149)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (109,607)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL EQUITY&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,225,472&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,393,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL LIABILITIES AND EQUITY&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,565,114&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,832,860&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF OPERATIONS&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 86,755&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,926&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,188&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,829&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Selling expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,221&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,518&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,727&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,970&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,093&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Research and development expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 645&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 795&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 462&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other operating loss, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total operating expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,360&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,282&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,960)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,469&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,119)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other income (expenses):&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,078)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,170)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,005)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest income&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,191&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,370&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;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.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,134)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,671)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,193)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange gain (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (18,110)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,255&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,318)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Investment loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,944)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (116,879)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other income (expenses), net:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,075)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,784&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (111,123)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (32,035)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,253&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (142,242)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Income tax (expense) benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,686&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (12,133)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,230&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,048&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 195,950&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 308,597&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Equity in loss of unconsolidated investees&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (127)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF COMPREHENSIVE INCOME (LOSS)&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size: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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,780&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (56,115)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 137,352&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 180,955&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';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';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';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';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF CASH FLOWS&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;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';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="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Operating activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 154&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss on disposal of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,559&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,879&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Impairment loss of investment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,686&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,134&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,671&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,193&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (212)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (83)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (130,048)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (195,950)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (308,597)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Equity in loss of unconsolidated investees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Share-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,314&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,259&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,682&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Changes in operating assets and liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Accounts receivable trade&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,739)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,563&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,539&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (184,755)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (43,630)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Advances to suppliers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (60)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,715)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,749)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,016&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (149)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,158)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,900&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (3,900)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due to related parties&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,399&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,598&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Other 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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,436&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (25,958)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,193&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 833&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,008&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 408&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,106)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,230&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,292)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Net settlement of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,358)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,450&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (11,125)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net cash provided by (used in) operating activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,288&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (108,595)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,996&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Investing activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Investments in subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (64,185)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,051)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (36,146)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from 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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,749&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Purchase of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (26)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (74,458)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (94,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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (40,601)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of loans from subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 375,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,809&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net cash provided by (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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (76,920)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 280,584&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (66,420)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Financing activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (49,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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (151,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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment 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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (127,500)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Payments for repurchase of treasury stock&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (11,845)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from exercise of stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 769&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 875&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net cash used in financing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (48,121)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (150,231)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (88,470)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Effect of exchange rate changes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,362&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (29,618)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,110&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net decrease in cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (4,391)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (7,860)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,784)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Cash and cash equivalents at the beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,348&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,957&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,097&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Cash and cash equivalents 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';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,313&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:8pt;margin:0pt;"&gt;Supplemental disclosure of cash flow information:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';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="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest paid (net of amounts capitalized)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,375&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,154&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,644&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;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_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_CL5Gqh9JhkOMohSttxny5w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">497200000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_WgRp0jyiDE-VbsgBfnOgsw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_0kkrpImrJU-dDwOm-QR9Nw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9097000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_zsNsI2fgzEiGZ_F34vmJmA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1362000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_u8UOVx4Ou0GRG8QY43iPxA_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">950000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Narr_fcI5WAU4ekWHBse-wX7jcw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3462000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Narr_4dTu_3tTGkuX_vmJXPzLtQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3379000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_Be1FCU_8Yk62sMDzzqkNaA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11476000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_7sbCxDF3U0i-hE6S1TSkaQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">279039000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_7XreFthBzEWTxuYj1_bESw_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">341557000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_R2rZec7gDEyGiuGV49gS6A_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15222000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_zy96KXHpJ0eAQDgveUuz-A_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9846000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_HPos5v9U6Uu-syIMmHN6GQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">314834000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_p3fCUKykIk-Vr6sVJorOKQ_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">353715000</us-gaap:AssetsCurrent>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_4bHRhRgn10uGoolUlP6d6w_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1154004000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_3X-3_pOmPECGovRCx8RN9w_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1383935000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_G3KelM0LlUyZ1OZEPPlPrg_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2483000</csiq:InvestmentInAffiliates>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_e7hcerONLkmBJRWAqPZ3KA_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28208000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_eDLhSyVAz0GGrOm_yLcdmg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23657000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_tGhAgAIxV023j40jYoY0sw_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68068000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_3IZ4YRdtDESch_q6lERCmw_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69070000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_od7BtnqAfECpqZ5kPUJ7aw_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1565114000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_6hDUGb4nzUOkowLsk8Foiw_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1832860000</us-gaap:Assets>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_scPWPnKCwEmQzomFONJuDA_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127428000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_IcXgNWdb7Ue6z_lCW7Ohkg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3903000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_IhK1gy2k0Uu0HngwQg4ttw_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_9HmgmrciXU6yV4oKuappTw_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">154765000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_3Et-OlvqsEWPu9MpSeDF2w_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">340502000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_5R6LL8vt70mYAPsWMYEVTg_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3879000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_RqC4g_FT8kOW-wOcuTLk1Q_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4713000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_vacz1fMbXU-U-P7QfXO0kw_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8255000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_NO4BDdzMf0Wbkjo5gbpq9w_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8531000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_oAQlGrJBjEK-Kf4BEzLrqQ_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">298230000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_oDFXP22PQU61SvDSJinIEw_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">353749000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_IZASMGzwhkmaiHdYp6uHvw_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_awcIgGtLmUeSSd__NscHlQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28779000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_QTZwb_2KHUWZwdanhhjCwg_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22936000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_s77IvWZA-EC7iysGQZv0Hg_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12633000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_EdBOBlzTmEOQKFfSbIicIg_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13041000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_TRVSIkwzqkmIplinTiJh1g_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">339642000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_ytRNNzfH9UKcbdVQ-TszPA_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">439726000</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="INF"
      id="Narr_uInyVVvnZUyNHHUFLGWL3g"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="INF"
      id="Narr_bDDOjrrVnU-Cb3KZcsbh4A"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_5g7ni5pB5kudnMoDslh2Ig_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702931000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_bIt0YtBnHkig63dDHkee-Q_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">703806000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_vOsSCbaU2kWTvjS1aVOORw_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11845000</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_Y5E_00aCnkWsn-FlbmNJXg_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10675000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_6ViDct59sEmYlySXce62VA_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17179000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_th28xsMcXkeOoasIhIpsxQ_34_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">622015000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_sxy3b7xzzUezSSNn-B1QJQ_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">793601000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_h19JMJ_mQkWcpv2eAKgtSQ_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-110149000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_5Xe6IaqXdESQJvHM_wTg1Q_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-109607000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_fhwOlelMq02jDAK5YDfcJg_36_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1225472000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_q10oDFNDf0qFr-5BZ47O3w_36_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1393134000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_IlaYbUX86EK_EjqRo0dESg_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1565114000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_9ZPKRVbFPUWpdJZ3NtGHpA_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1832860000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_6jwHMdGjIUWw0yF_nBdElg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35011000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc__LEwbEuG5kmXT5bc1Y7_0A_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">86755000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Us0pQ7SE_UG6McwKCO-8ww_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4351000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_jQBZfoz2kEyiJy0CVpy7FQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29542000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_0bYew4jeNUOG0117N3Zyrg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53926000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_PF1g9kStyEaQdTFy_kRcTQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4188000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_iJRcfmTXHk266JtDXhhHSw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5469000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_fmrTgIZe9U6hhoCSNN102g_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32829000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Lc5pmIiIN0uU6CtPMod8Eg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">163000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_BGqXzBKm50e-T-0TSluIAQ_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2221000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_1OkSjEtZiEGl7lXxsUdeqg_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2518000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_56GyVNsa1UGE9MwAWki8YQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1727000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_peA4_Vm7zEqDRNDtOhqWhg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18390000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_Bi76kuOQpEqsLHzS2kbLCg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18970000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_8oBqZcgld0i-T8teTtz-rg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29093000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_4F1sZemv5kSWrJyrFiknJQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">645000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_yqNyVjmC_EyOJjFVfcm5gA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">795000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_aSC-Y1Bhm0uCnqUca8TSGw_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">462000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Fn2-VmJJCUmPweo2EES4lQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1173000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_iuefmv6LIUe_QdGVNfTcvw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-77000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_n41W5EnXBEmPiulNHwu2Ag_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22429000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_zu8Txv7_ckWMd_D-WohpAw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22360000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_xS3L_9O98E-tCVj539BPFQ_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31282000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_NyjY-x9FQ0Kp1Y5jCAxCyA_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-16960000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_hoF_fMANcke6VRfDje2MkA_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10469000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_NgvYRJaoO0u1DUFBxwHmgw_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-31119000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_mYQf21xO2k-FVicOaT29BA_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20078000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_HRKr3v0otUWWWaQti5d4jQ_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9170000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_02KlfN7sOU6ndAcoVrSKJg_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3005000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_m3GvllVj2kaCnTq30meHSA_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42191000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_OWdCtCPJ2kqf8gGvFdrE1g_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32370000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_peGfFTkIy0GFLjN8GVkjgA_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25272000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_9TlpVFmcF02oKkfh2HHMuw_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7134000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_djzIv8BOj0ejpbzvTl1_VA_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2671000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_lq4xhOToc0uZCIdZEPK6xg_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5193000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_LWSBlZ0WSUe9ASsr6TyBJg_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-18110000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_GOTZ4WNHXUqMD7Kcfm-wSg_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22255000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_cG6OOh8r3EmCD7RxtSzQ9Q_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11318000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_i6J2MbkgVkmG1oBbMGxxqQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11944000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_yuA18B3prkC6reXx76H4JQ_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-116879000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_x7o9a4m2Hku5yQZzAsaT-g_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-15075000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_c6woWqfyVE22MVnCVM8x8w_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42784000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_dzWmsu0ihk6PTawmcKWvsg_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-111123000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_ElHbnMZEkEGNXCYz8kzgOg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-32035000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc__m86WwQN-keocMOkv5S7uw_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53253000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_KNeNHctx-EmZqBk_9jw_2w_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-142242000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_FCsyAD-ZdEKTM4D0s0fIOQ_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1686000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_dc9pzB7VjU6rpUhOnVOcdw_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12133000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_to8rhnBMGUK25jaZgJLDVg_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5230000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_O9acUnIu1kGXBBBJQm5P1A_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">130048000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_vprSle8g0UWSpYFvS_Lp-g_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">195950000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_j1W4xscBsESYpuWWlB5IPQ_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">308597000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Koym8SFU-kiGj2h92LacGA_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-127000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_XDDMjVthKEWRgK1GvWvKxw_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_80mXrqqX_keCvWjBz_y_fA_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_-qSr8-LYhUyHxWRqRYw7Pg_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_jXmWB8TtQ0mr7Fc-P_z1uQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_03sHruCzw0imTnQWDX2D_Q_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_kLx7nSndDEO8ArSNz1hFbA_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_PrhijJb8XUeuN-xvp0eGwg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">37780000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_nzJK7BNkUkqHbF1dPvVzTA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-56115000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_xS7u83aJok2x0kE6VoL9tg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">542000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_zvrsm9DffkOpZiw7rGvpBw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">137352000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_dr4BNNLZbkC7VAQ7CuqIlg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">180955000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_WEmTxDL1LUKlo0Tzg8ljpA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">172127000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_DW3CMFWAq0S7oni3bFj_VA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_EsXWunlFT0m5FUAk6i0zNQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_jQ7rXo_Z1UaH-ZzsI4efHA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_gYfi8GkC9UC1m1KByZD7OQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_Q1w6_66i-kCxeS69mCVwdw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_F9Cpu5JBzU2_vOF9Dsi0rA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">154000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GainOrLossOnSaleOfStockInSubsidiary
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_OPqXMnPuCkqpEFeugsMWkw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9559000</us-gaap:GainOrLossOnSaleOfStockInSubsidiary>
    <us-gaap:GainOrLossOnSaleOfStockInSubsidiary
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_f466iAgex0eR6esSXxkdAw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">116879000</us-gaap:GainOrLossOnSaleOfStockInSubsidiary>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_83Ei7fdrmUqbKOHHUSKRHw_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3686000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Qpkxkb2vLUuqMtqHZ2evbA_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7134000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_zn6Ra9dEnEOdE-C0mxJPSg_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2671000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_LrorF2KscESCrcGB3DGoYg_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5193000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_cTym8Ctea0e6nkHTo0UY0Q_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2666000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_erSPTNMbO06mvMDfQEPUxQ_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-212000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Q8Og0_hf2ke8sefeEaPyeQ_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-83000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_NPo7RkeeS0WR-VLnuQfopQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">130048000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_nlLvyp3s1EKUtfeKIVpESw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">195950000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_juku8EKwgE-QxGlbyTVJng_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">308597000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_AjanSDuVk0qVGhcY90EdtQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-127000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc__55UAK5YoUuLSc7TZW8MwA_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_KUoRzA150kiNUYVt38cVIA_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10259000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_C_yJ4WoGpkuEK7d35UTxPw_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_zROvGSQ9rU-Qr8dKmLaeMw_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6739000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_xask52K660ao90tkMxpPPA_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5089000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_9-19XeIZ6ESlsy5Ud2HwCg_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11563000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_YZ4DgLlRHEmp3Z9BT6cukg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-57539000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_V6lvyfWX6kyGsecDHkbxsA_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">184755000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Ilq_tcKZZk--7-kg6DFArw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43630000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_pBUN3puclUuyI0dqIRVFzw_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_IIn07s2Vxk-deUaLrFFnUQ_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-60000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_HgIVZjyrD0iFlzVl48yeIA_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5715000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_jNUV4pV5vkyF3f5wuqeeIw_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2749000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_OQ7I-perjkmpfX5-83WUIA_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5449000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_lhAfdxEBPkOtGtBrAapPtg_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1016000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_OJVseJ1KK0C6lDs3r_2lBw_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">149000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_PzEFy87Wa0-AqmKBQ3mLng_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1158000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_a6bX7YpxKUeeVV_kzq066g_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3900000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_nQwo5aBnU0OajCzCJ5_AGQ_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3900000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_R8vmuBHFFEmXphGw6SFKiw_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55399000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_4sckkRxlSkyh2Ib6O2oc5g_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15598000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_L2EMBmpdR0KuYEg1whJe8A_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">183675000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Wh3FwYnXTUmVtj9od-BWqw_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22436000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_OniU3C93c0WBivEGpCXQzQ_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-25958000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_vLrkRYCUqUKB3pXsND8qOQ_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1193000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_hFx1A98VrkqURWC9AOgJWQ_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">833000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_xYioOieZ7k2QnDsKMUtk-w_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6008000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_MdGdsuG1WkSEbBJ0UuaUEw_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">408000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_S5KaDh-QQ0yo5n3NUCkTJw_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6106000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_6NW5YG3TSEqLvXbd4dzf0g_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9230000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_AR4kpCdBYUu1d4gdK1-RKQ_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1292000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc__22GbMlKU0i6Hf6C_d_njQ_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6358000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_WL2iseWFek6DwkQoxLdFuQ_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-21450000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_6Y56cGf0PESpziZSj4o6ew_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11125000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_7a8hxkpYeUyer1AysURawQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">114288000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_qE4Di0slVk-mj6NxTQLdPw_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-108595000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_zmmRWyqSnU6NZfJks29sCA_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">136996000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_d3o55X2rXEWkZZOVTj4bqw_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64185000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_qorrQBn6zUqXAOIQjWpEqg_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1051000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_CvHQdU-_j0GcM1L9tOJhyw_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">36146000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_ZekvzJHFxkOGZZxph6DXSA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2483000</csiq:PaymentsToAcquireAffiliates>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_XHy2E4Y2FUutzyOHTAVIpQ_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61749000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Ja04Pt6v90irau7kooFofg_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_AG6qv_iC90Gr3os4SJJS5Q_32_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_NtrOI3MEjUin_vit9K2bXw_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74458000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_ZmHJhDtqJUyW8e_5X0mPGA_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94000000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_6sJr31UIm0-YUMXOS_y62w_33_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40601000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_L3fUU6zM0EOrFV7DZJ0DZA_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">375635000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_jyafqGJihU6Gu42ph5pSeQ_34_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12809000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_4Zm0kdXa5k21WWGnvyR-Rw_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-76920000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_bMHzgXios0y-eUhLTgdnWQ_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">280584000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_C0t33PICSEq72h5qZtA8sw_35_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-66420000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc__HP29XeudUeoOAUo2zqc0A_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_ebXPmIvgjk-7-ZvZ0mcfbA_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">151000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromRepaymentsOfNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_DHUKaULUsEWN4AnADvJx_g_38_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:ProceedsFromRepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_RSq14L7UO0aIvTZHi6qC1g_39_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_x1MeE5lTz0GJ19PEgzm91w_40_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_jp3XS3pKy0uj7wqTXUt4EA_41_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_bm6aCiXAmEKokZnI6TaiPQ_41_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_DPG_T_QIk0eqKk6rfG4hZQ_41_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_YWdRphvmhkSXWZJj8OoH_g_42_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-48121000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_gFVSS2m1EUSpCySLBfjx2g_42_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-150231000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_8bUVx01o1EWsK9USrPvoAw_42_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-88470000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_bTK60zrOE0el5l_3ftl9zA_44_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6362000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_TP4dSuXIBkWHiypvWnAeSw_44_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-29618000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_8WEdQUvt9kWA0o9RPa2ssw_44_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11110000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_5Nhxxzg0EUy1Q0j1CqNO9w_46_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4391000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_wSi11rF8OkaIauk0F3uvaw_46_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7860000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_6PWVQ4Bhg06T1iaQIpEgZA_46_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6784000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2016_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ync2vpL9vkSdVFl3lols6w"
      decimals="-3"
      id="Tc_i4VxLa3IlUOqtMx4A_U5zA_48_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21348000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw"
      decimals="-3"
      id="Tc_0zznISlQj0OuitOMOUCijw_48_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16957000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_anhcZOjNyUeKAasEpUA9_g_48_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9097000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw"
      decimals="-3"
      id="Tc_WaCU2kwRS0GiQUR2lXUhHQ_49_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16957000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_XPjat1Jut0SwYxJ-ndDz8Q_49_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9097000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_zzTTcbHAJUeU_7Mpf-yGIA_49_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2313000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_iAIAyw0wIkCpy9L5RcSAJQ_52_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18375000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_AhNqiF5tP0mwwnelmsqzvQ_52_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10154000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_N_TD1hjLakuFzlV9WgZ3OQ_52_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4644000</us-gaap:InterestPaidNet>
    <us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mvwmD7yos0yptLZyYIY0_g">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 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';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Major Subsidiaries of CSI &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth information concerning CSI&#x2019;s major subsidiaries: &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;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;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:45.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:6pt;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="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:6pt;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="background-color:auto;vertical-align:bottom;width:45.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Subsidiary &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November&#160;23, 2001&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Solar Technologies&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of solar products&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;8, 2003&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI New Energy Holding Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Investment holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;January&#160;7, 2005&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Luoyang)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Manufacture of solar modules,&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;February&#160;24, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;ingots and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Changshu)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;1, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Cells&#160;Co.,&#160;Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Manufacture of solar cells&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;23, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar (USA)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;8, 2007&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Japan K.K.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;21, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Solutions&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project and manufacture of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;22, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China)&#160;Inc.")&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Investment holding and trading&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;July&#160;7, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar EMEA&#160;GmbH&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;21, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar (Australia) Pty&#160;Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;February&#160;3, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar International Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March&#160;25, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar O and M (Ontario)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Solar farm operating and maintenance service&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May&#160;10, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Suzhou Sanysolar Materials Technology&#160;Co.,&#160;Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 99.73&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar module materials&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;17, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar South East Asia Pte. Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;September&#160;19, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar South Africa (Pty)&#160;Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;22, 2012&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of solar modules, and provide solar energy solution to customer&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November&#160;14, 2012&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Construction (USA) LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Solar farm operating and maintenance service &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 20, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Projects K.K.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 20, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI&amp;amp;GCL Solar Manufacturing (Yan Cheng) Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Research and developing,  manufacture and sales of solar cells, and solar power projects development &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar UK Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar UK Projects Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Changshu Tegu New Material Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;EVA solar packaging film research and development, production, and sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;September 2, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Changshu Tlian Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;December 26, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Recurrent Energy Group Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;January 22, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Recurrent Energy, LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 31, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PT. Canadian Solar Indonesia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Indonesia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 67&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;February 26, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing Vietnam Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June 25, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Private Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 06, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as &#x201c;Canadian Solar Australia 1 Pty Ltd. ")&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August 03, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Holding Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Hong Kong &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;September 22, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Singapore Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Development &amp;amp; Ownership of solar PV projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;October 29, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co.,Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 99.99992&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Cells and module production&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November 20, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Sunenergy (Suzhou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 12, 2016&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Sunenergy (Baotou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules, ingots and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August 18, 2016&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Middle East DMCC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 28, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Investment Management (SuZhou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Investment management &amp;amp; assets management&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 05, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Suzhou Gaochuangte New Energy Development Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 90&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Design, engineering construction and management of solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June 12, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Cells (Yancheng) Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar cells&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 18, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Modules (DaFeng) Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;**&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 16, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Construction (Australia) Pty Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Providing engineering, procurement and construction service&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;July&#160;04, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSUK Energy Systems Construction and Generation JSC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Turkey&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Construction of power plants generating electricity by utilizing renewable energy sources&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;October 30, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Modules (JiaXing) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November 3, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Wafer (LuoYang) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar cells and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November 27, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing Taiwan Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;December&#160;05, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Argentina Investment Holding Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;January 23, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Changsu Xingu Photovoltaic Material Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;EVA solar packaging film research and development, production and sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 19, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar New Energy Holding Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;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="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 20, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Holding Singapore Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Development &amp;amp; Ownership of Solar PV Projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;April 22, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar SSES (Canada) Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;System Solution and Energy Storage&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Nov 27, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar SSES (UK) Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;IP holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;December&#160;18, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;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';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';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"&gt;*&lt;span style="font-family:'Calibri';"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;CSI Cells Co., Ltd. holds 52% 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 Power Group Co., Ltd. holds 0.17% shares as a general partner, holds 48% equity rights of CSI Cells (Yancheng) Co., Ltd.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"&gt;**&lt;span style="font-family:'Calibri';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;Canadian Solar Manufacturing (Changshu) Inc. holds 3.12% 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 Power Group Co., Ltd. holds 0.067% shares as a general partner, holds 96.88% equity rights of CSI Modules (DaFeng) Co., Ltd.&lt;/p&gt;</us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolartronicsChangshuCoLtdMember_X2daspvchECaB7VCla1Psw"
      decimals="2"
      id="Tc_bswVuNfUEkWtFZBM158cpw_4_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolarTechnologiesIncMember_eXrqcEc30Ei0qALz2vCLvw"
      decimals="2"
      id="Tc_rBVaZqm0kkOX9PP2LBdvGg_6_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_f3BBwSBlQk-aYL2vlJi5jg"
      decimals="2"
      id="Tc_vkiaF0IC1USgWU5xBvjvhA_8_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_IjALAkJg8kS0WYjYxymI7g"
      decimals="2"
      id="Tc_RIdtD6cFVkmuwzisXBUdYQ_10_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_l7hJjXGwS0S7CHhnXKSXyw"
      decimals="2"
      id="Tc_1ZXdG6fxaE-BMCgZv6VTwQ_12_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_pgGVNg8lp0Sh7U7fWsyv2g"
      decimals="2"
      id="Tc_AsHI0vdid0uyfiROdZsjdA_14_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_50dtds0o1U2PfBa7Ju7KIQ"
      decimals="2"
      id="Tc_x2AssO4g3UKmFbFPNW4i5w_16_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_E7s0enECwEm_SyoeRl196w"
      decimals="4"
      id="Tc_MkY8C3DO-EK2V_iFeH6lxg_18_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_R65hiqi-BkGyArimZFj6kQ"
      decimals="2"
      id="Tc_mkI0NQtFAE6Zu4KUSs--rQ_20_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ"
      decimals="2"
      id="Tc_lrMCigBMOkKaiTYmFiJ0OA_22_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_VgVpP6IgvEeJJ8yXETQkfQ"
      decimals="2"
      id="Tc_gBis_JObsUapaX86lvMKrg_24_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustraliaPtyLtdMember_IQaKtyiZxkG7qi3SJvyDIA"
      decimals="2"
      id="Tc__8FSh-itOEOjOuSkC2dnWA_26_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_AlBVqgZqXUiF6uAz17iJUA"
      decimals="2"
      id="Tc_Z4ClV0iCO0i4VvdMrKF1XA_28_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_6CM_pzl240CSlQHbpW0PuQ"
      decimals="2"
      id="Tc_PBcrzJDxZ0K4R4hvfccSTg_30_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_p6_jPQLIaUutOVv0Ty5iCg"
      decimals="5"
      id="Tc_ossXxX1z2UO1kxo4OcbX1w_32_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.9973</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_ubLDcYvLCUuT3bAlHD7uNA"
      decimals="2"
      id="Tc_bdruZ75b10a2pU8QK-rNJg_34_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthAfricaPtyLtdMember_Hq256zVRrkyBj14khGxE3A"
      decimals="2"
      id="Tc_CcU0pZh3jEmziPulabwW9w_36_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_D0bbTLwklk69tQO30lztQA"
      decimals="2"
      id="Tc_DEpuWs6C0UivYorSBmUVHw_38_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionUsaLLCMember_SxMKdJGv0EqOa4AtP5Hczw"
      decimals="2"
      id="Tc_yhyDU3cTJ0K40fQyh8egaA_40_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_wqWISQGOt0aEOzTLJDmR9w"
      decimals="2"
      id="Tc_1JSVrnpEf0qG1yFl6Htrhw_42_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_YqFvDkAPxkCVF2Vt8O2l6g"
      decimals="2"
      id="Tc_OjCmIyaEmEGaPHMMzTriXA_44_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember_nHcLXRu22kaKL7Hpu3JEWA"
      decimals="2"
      id="Tc_Ads-p6c85Uar64Fq6axFJg_46_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_gaFFVSiMVU6dJx6tv-15pw"
      decimals="2"
      id="Tc_9IsbFglSo0u-g-sBpvAshw_48_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_pfgLe_A9ukygMgFIx3pkTw"
      decimals="2"
      id="Tc_1iP1GFS1pk2dOBI-JX7IzA_50_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_O1mirRnMdUOXfh8yn7m3pQ"
      decimals="2"
      id="Tc_csvGdBQjLEC4g3jWjNBfOw_52_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_tfNffgYLOU21rCoI61i76w"
      decimals="2"
      id="Tc_r6OIVNAm_UePpim0Xh1nFw_54_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_uCUszJzAkkedZfzB6TzLjg"
      decimals="2"
      id="Tc_BTgXdasoJkO8t7qmjZA7kg_56_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_PtCanadianSolarIndonesiaMember_WIa2wR-R7EabxskoyytV4Q"
      decimals="2"
      id="Tc__haxm0mma0ipnfcHDxdFqg_58_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.67</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_j6KXhNbxdUKQnrw1nPf8pA"
      decimals="2"
      id="Tc_bUsZr3zBUUaEeXYAENnSVg_60_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyPrivateLimitedMember_eHSRKh6OEU6lcmKRHLWs8g"
      decimals="2"
      id="Tc_ITtec7ZTqU-5BDrlc9KrQw_62_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustralia1PtyLtdMember_Bq8reKRQzEeAJVfF0H_S2Q"
      decimals="2"
      id="Tc_inX8tU19X0mJ3R1TNsaQtQ_64_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_kYzLCiJx4U2DO0PAUArfcA"
      decimals="2"
      id="Tc_Vf__JX5yAEGJhoz5Et-WFw_66_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_IZbwU8qQ1k2O4q_JuvLeJg"
      decimals="2"
      id="Tc_poPrx7hGgEyweSCtls3wuQ_68_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_k3pfla9r_USOzRTlmL3WIg"
      decimals="7"
      id="Tc_UH_AOwzp3kymkjs6dBC6Vg_70_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.9999992</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_dJD8J6MYAEOwoZlpGzx51Q"
      decimals="2"
      id="Tc_8VLwFYqY_EmItnq2AFjT8g_72_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_8ujZS-yBMESJXzpV0Crsxw"
      decimals="2"
      id="Tc_t3ElhxaNyUWz88wQmS3n0Q_74_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarMiddleEastDmccMember_UsdpaLQhmk-podlCp2-T8Q"
      decimals="2"
      id="Tc_hB0OrYkL5kW91z62tY_41w_76_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiInvestmentManagementSuzhouCoLtdMember_GJt3ETH8_0CxWvTY3gZ0bw"
      decimals="2"
      id="Tc_mZ_3V4s8ZE-Gbt-73M6MoA_78_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_LGxXw2tOskuUFrLfvpL8eA"
      decimals="2"
      id="Tc_4GuFwinfw068s9oIVDkS0g_80_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.90</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_Jub7_vciaEqQm7wdA9GrGg"
      decimals="2"
      id="Tc_KQLxB1fU8kS6Cld8fGysrQ_86_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsukEnergySystemsConstructionAndGenerationJscMember_fjg9x-UWGUG4bERD7gfdCg"
      decimals="2"
      id="Tc_Z_X4aEUn7Um5d2U4n5IKWw_88_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_SNgW881rrEizurtXQwpdcA"
      decimals="2"
      id="Tc_lnX5asi6Q0mVxRiRNeqc6g_90_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_1ZVHiC_9dEyNUII2fgKyjw"
      decimals="2"
      id="Tc_5NFQw1lyykiz27MQNzybxg_92_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingTaiwanCoLtdMember_VPLCaZyfrkGlrnL0ri-j4w"
      decimals="2"
      id="Tc_pCaWjinoM02GytkqwtKbPg_94_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_EPf-Mmmb3EmG8Ak__bCR0w"
      decimals="2"
      id="Tc_OwhcWfnHjUWhXCOP0LQVCg_96_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_8g6PlU6ogEWyqmSMeIbKnw"
      decimals="2"
      id="Tc_qsF3l7b2MkCxXxYJ11XjYA_98_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_iZAe9dPgUEWNHzxDVQo4Ag"
      decimals="2"
      id="Tc_06Sc4v-M3EeFq-finauPjA_100_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_MU8LW1ASJEypZcrjukEHEw"
      decimals="2"
      id="Tc_GLV8bRee0EacBGvhHzvS4g_102_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_9FBBjjFkL02CrIh4E0mIGA"
      decimals="2"
      id="Tc_1e3pVidzakKDv2UsGC3AZg_104_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesUkLtdMember_s7UcNNfSTk-ya7j7gKh3KQ"
      decimals="2"
      id="Tc_Ne89CcyWL02giLO9pwgPOw_106_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg"
      decimals="2"
      id="Narr_bHHZBkmxw0uVOWoiTVvwJQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.52</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_NVm05P2FNkarzAqjfzzKLg"
      decimals="4"
      id="Narr_AcklYK5Zz0WvetH0u-Egvw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3733</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <csiq:EquityInterestHeldAsGeneralPartner
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg"
      decimals="4"
      id="Narr_kwwl1-zEo0qk7PvWxT9hnQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0017</csiq:EquityInterestHeldAsGeneralPartner>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_jGNrNqRCvUuQRZBx6-jF0g"
      decimals="2"
      id="Narr_R8IKB8ZFw0eMpGUqGtC-mA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.48</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_1n1AG2K6xk2UOzGnATGbIw"
      decimals="4"
      id="Narr_j6X319OxCEedF13gySoP8w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0312</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_B--R_4fNa0yJ6CHEldgOeg"
      decimals="2"
      id="Narr_zwZrOnjdBUO0RAz08P0Biw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <csiq:EquityInterestHeldAsGeneralPartner
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ"
      decimals="5"
      id="Narr_wVUEfUHI60-aSAAg6RbVRA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.00067</csiq:EquityInterestHeldAsGeneralPartner>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_ZtO-Oy4VYU-bwnYTyH14MQ"
      decimals="4"
      id="Narr_53pWgaCtr0Sfig2yiC4wiw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.9688</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
</xbrl>
