0001104659-20-135733.txt : 20201215 0001104659-20-135733.hdr.sgml : 20201215 20201215161056 ACCESSION NUMBER: 0001104659-20-135733 CONFORMED SUBMISSION TYPE: 6-K PUBLIC DOCUMENT COUNT: 82 CONFORMED PERIOD OF REPORT: 20200930 FILED AS OF DATE: 20201215 DATE AS OF CHANGE: 20201215 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CooTek(Cayman)Inc. CENTRAL INDEX KEY: 0001734262 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-COMPUTER PROCESSING & DATA PREPARATION [7374] IRS NUMBER: 000000000 STATE OF INCORPORATION: E9 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 6-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-38665 FILM NUMBER: 201389713 BUSINESS ADDRESS: STREET 1: 9F, T2, NO.16, LANE 399, XINLONG ROAD STREET 2: MINHANG DISTRICT CITY: SHANGHAI STATE: F4 ZIP: 201101 BUSINESS PHONE: 862164856352 MAIL ADDRESS: STREET 1: 9F, T2, NO.16, LANE 399, XINLONG ROAD STREET 2: MINHANG DISTRICT CITY: SHANGHAI STATE: F4 ZIP: 201101 6-K 1 ctk-20201231x6k.htm FORM 6-K
CooTek(Cayman)Inc.00017342622020-01-012020-09-300001734262us-gaap:CommonClassAMember2020-05-180001734262ctk:AmericanDepositorySharesMember2020-05-180001734262us-gaap:SubsequentEventMember2020-12-310001734262ctk:RepurchasePlanMember2020-01-012020-09-300001734262us-gaap:TreasuryStockMember2020-01-012020-09-300001734262us-gaap:TreasuryStockMember2019-01-012019-09-300001734262us-gaap:CommonClassAMemberus-gaap:CommonStockMember2020-01-012020-09-300001734262us-gaap:CommonClassAMemberus-gaap:CommonStockMember2019-01-012019-09-300001734262us-gaap:CommonStockMemberus-gaap:IPOMember2018-10-022018-10-020001734262ctk:AmericanDepositarySharesMemberus-gaap:IPOMember2018-10-022018-10-020001734262us-gaap:RetainedEarningsMember2020-09-300001734262us-gaap:AdditionalPaidInCapitalMember2020-09-300001734262us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-09-300001734262us-gaap:RetainedEarningsMember2019-12-310001734262us-gaap:AdditionalPaidInCapitalMember2019-12-310001734262us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310001734262us-gaap:RetainedEarningsMember2019-09-300001734262us-gaap:AdditionalPaidInCapitalMember2019-09-300001734262us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-09-300001734262us-gaap:RetainedEarningsMember2018-12-310001734262us-gaap:AdditionalPaidInCapitalMember2018-12-310001734262us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-3100017342622020-10-012021-12-3100017342622018-11-062018-11-060001734262ctk:ShareBasedPaymentArrangementOptionMember2019-12-310001734262us-gaap:RestrictedStockUnitsRSUMember2019-12-310001734262us-gaap:ProductAndServiceOtherMember2020-01-012020-09-300001734262us-gaap:AdvertisingMember2020-01-012020-09-300001734262ctk:CountriesOtherThanUsaAndChinaMember2020-01-012020-09-300001734262country:US2020-01-012020-09-300001734262country:CN2020-01-012020-09-300001734262us-gaap:ProductAndServiceOtherMember2019-01-012019-09-300001734262us-gaap:AdvertisingMember2019-01-012019-09-300001734262ctk:CountriesOtherThanUsaAndChinaMember2019-01-012019-09-300001734262country:US2019-01-012019-09-300001734262country:CN2019-01-012019-09-300001734262ctk:CreditFacility2018Member2020-01-012020-09-300001734262us-gaap:VehiclesMember2020-09-300001734262us-gaap:OfficeEquipmentMember2020-09-300001734262us-gaap:LeaseholdImprovementsMember2020-09-300001734262ctk:ElectronicEquipmentMember2020-09-300001734262us-gaap:VehiclesMember2019-12-310001734262us-gaap:OfficeEquipmentMember2019-12-310001734262us-gaap:LeaseholdImprovementsMember2019-12-310001734262us-gaap:ConstructionInProgressMember2019-12-310001734262ctk:ElectronicEquipmentMember2019-12-310001734262ctk:LineOfCredit2016Member2019-01-012019-12-310001734262ctk:CreditFacility2018Member2019-01-012019-12-3100017342622018-10-022018-10-020001734262us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-09-300001734262us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-09-300001734262country:US2020-09-300001734262country:CN2020-09-300001734262country:US2019-12-310001734262country:CN2019-12-310001734262us-gaap:RetainedEarningsMember2020-01-012020-09-300001734262us-gaap:RetainedEarningsMember2019-01-012019-09-300001734262ctk:ThreeInvestorsMemberctk:ShanghaiHanXiangCootekInformationTechnologyCo.LtdMember2010-10-310001734262ctk:CreditFacility2018Member2020-09-300001734262ctk:LineOfCredit2016Member2020-06-300001734262ctk:LineOfCredit2016Member2019-10-310001734262ctk:CreditFacility2018Member2019-10-310001734262ctk:CreditFacility2018Member2018-07-310001734262ctk:CreditFacility2018Member2018-06-300001734262ctk:LineOfCredit2016Member2016-07-310001734262us-gaap:SubsequentEventMember2020-10-012020-10-310001734262ctk:ShareBasedPaymentArrangementOptionMember2020-09-300001734262us-gaap:RestrictedStockUnitsRSUMember2020-09-300001734262us-gaap:RestrictedStockUnitsRSUMember2020-06-300001734262ctk:AmericanDepositorySharesMember2020-01-012020-09-300001734262ctk:AmericanDepositorySharesMember2019-01-012019-09-300001734262ctk:LineOfCredit2016Member2020-01-012020-09-300001734262ctk:LineOfCredit2016Memberctk:PrevailingBaseLendingRateOfPeoplesBankOfChinaSixMonthsMember2019-10-012019-10-310001734262ctk:CreditFacility2018Memberctk:PrevailingBaseLendingRateOfPeoplesBankOfChinaSixMonthsMember2019-10-012019-10-310001734262ctk:CompanyJMemberus-gaap:AccountsPayableMemberctk:VendorConcentrationRiskMember2020-01-012020-09-300001734262ctk:CompanyIMemberus-gaap:SellingAndMarketingExpenseMemberctk:VendorConcentrationRiskMember2020-01-012020-09-300001734262ctk:CompanyHMemberus-gaap:AccountsPayableMemberctk:VendorConcentrationRiskMember2020-01-012020-09-300001734262ctk:CompanyFMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001734262ctk:CompanyEMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001734262ctk:CompanyEMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001734262ctk:CompanyMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyHMemberus-gaap:SellingAndMarketingExpenseMemberctk:VendorConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyGMemberus-gaap:SellingAndMarketingExpenseMemberctk:VendorConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyDMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyCMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyBMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262ctk:CompanyBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001734262us-gaap:CommonClassBMemberus-gaap:CommonStockMember2020-09-300001734262us-gaap:CommonClassAMemberus-gaap:CommonStockMember2020-09-300001734262us-gaap:TreasuryStockMember2020-09-300001734262us-gaap:CommonClassBMemberus-gaap:CommonStockMember2019-12-310001734262us-gaap:CommonClassAMemberus-gaap:CommonStockMember2019-12-310001734262us-gaap:TreasuryStockMember2019-12-310001734262us-gaap:CommonClassBMemberus-gaap:CommonStockMember2019-09-300001734262us-gaap:CommonClassAMemberus-gaap:CommonStockMember2019-09-300001734262us-gaap:TreasuryStockMember2019-09-300001734262us-gaap:CommonClassBMemberus-gaap:CommonStockMember2018-12-310001734262us-gaap:CommonClassAMemberus-gaap:CommonStockMember2018-12-310001734262us-gaap:TreasuryStockMember2018-12-310001734262us-gaap:CommonClassBMember2020-09-300001734262us-gaap:CommonClassBMember2019-12-310001734262us-gaap:CommonClassAMember2019-12-310001734262currency:CNY2020-09-300001734262currency:CNY2019-12-3100017342622019-09-300001734262us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-09-300001734262us-gaap:EmployeeStockOptionMember2020-01-012020-09-300001734262us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-09-300001734262us-gaap:EmployeeStockOptionMember2019-01-012019-09-3000017342622018-12-310001734262us-gaap:SellingAndMarketingExpenseMember2020-01-012020-09-300001734262us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-09-300001734262us-gaap:GeneralAndAdministrativeExpenseMember2020-01-012020-09-300001734262us-gaap:CostOfSalesMember2020-01-012020-09-300001734262us-gaap:SellingAndMarketingExpenseMember2019-01-012019-09-300001734262us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-09-300001734262us-gaap:ResearchAndDevelopmentExpenseMember2019-01-012019-09-300001734262us-gaap:GeneralAndAdministrativeExpenseMember2019-01-012019-09-300001734262us-gaap:CostOfSalesMember2019-01-012019-09-300001734262ctk:ShareBasedPaymentArrangementOptionMember2019-01-012019-09-300001734262us-gaap:AdditionalPaidInCapitalMember2019-01-012019-09-300001734262ctk:CompanyFMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-09-300001734262ctk:CompanyEMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-09-300001734262ctk:CompanyDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2019-09-300001734262ctk:CompanyCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2019-09-300001734262ctk:CompanyBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2019-09-300001734262ctk:CompanyJMemberus-gaap:AccountsPayableMemberctk:VendorConcentrationRiskMember2020-09-300001734262ctk:CompanyHMemberus-gaap:AccountsPayableMemberctk:VendorConcentrationRiskMember2020-09-300001734262us-gaap:CommonClassAMember2020-09-300001734262us-gaap:CommonClassAMember2019-09-300001734262ctk:ShareBasedPaymentArrangementOptionMember2020-01-012020-09-300001734262ctk:ShareBasedPaymentArrangementOptionMember2019-01-012019-12-310001734262ctk:ShareBasedPaymentArrangementOptionMemberctk:OptionPlan2012Member2020-01-012020-09-300001734262us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-09-300001734262srt:MinimumMemberctk:ShareBasedPaymentArrangementOptionMemberctk:OptionPlan2012Member2020-01-012020-09-300001734262srt:MaximumMemberctk:ShareBasedPaymentArrangementOptionMemberctk:OptionPlan2012Member2020-01-012020-09-300001734262us-gaap:VariableInterestEntityPrimaryBeneficiaryMember2020-01-012020-09-300001734262us-gaap:VariableInterestEntityPrimaryBeneficiaryMember2019-01-012019-09-300001734262ctk:ShanghaiHanXiangCootekInformationTechnologyCo.LtdMember2010-10-3100017342622019-01-012019-09-3000017342622019-01-012019-12-310001734262us-gaap:AdditionalPaidInCapitalMember2020-01-012020-09-300001734262us-gaap:VariableInterestEntityPrimaryBeneficiaryMember2020-09-3000017342622020-09-300001734262us-gaap:VariableInterestEntityPrimaryBeneficiaryMember2019-12-3100017342622019-12-31iso4217:USDctk:itemxbrli:pureiso4217:USDxbrli:sharesxbrli:sharesiso4217:CNYctk:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 6-K

REPORT OF FOREIGN PRIVATE ISSUER

PURSUANT TO RULE 13a-16 OR 15d-16 UNDER

THE SECURITIES EXCHANGE ACT OF 1934

For the month of December 2020

Commission File Number: 001-38665

COOTEK (CAYMAN) INC.

9F, T2 Building, NO.16, Lane 399, Xinlong Road

Shanghai, 201101

People’s Republic of China
(Address of principal executive offices)

Indicate by check mark whether the registrant files or will file annual reports under cover of Form 20-F or Form 40-F.

 

Form 20-F

Form 40-F

Indicate by check mark if the registrant is submitting the Form 6-K in paper as permitted by Regulation S-T Rule 101(b)(1):

Indicate by check mark if the registrant is submitting the Form 6-K in paper as permitted by Regulation S-T Rule 101(b)(7):

SIGNATURE

Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.

COOTEK (CAYMAN) INC.

By:

/s/ Karl Kan Zhang

Name:

Karl Kan Zhang

Title:

Chairman of the Board of Directors and Chief Technology Officer

Date : December 15, 2020

EXHIBIT INDEX

Exhibit Number

Description

99.1

Unaudited Condensed Consolidated Financial Statements for the Nine Months Ended September 30, 2020

99.2

Management’s Discussion and Analysis of Financial Condition and Results of Operations for the Nine Months Ended September 30, 2020

99.3

Risk Factors

99.4

Earnings Release

101.INS 

Inline XBRL Instance Document

101.SCH 

Inline XBRL Taxonomy Extension Schema Document

101.CAL 

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF 

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB 

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE 

Inline XBRL Taxonomy Extension Presentation Linkbase Document

EX-99.1 2 ctk-20201231xex991.htm EXHIBIT 99.1
6-Kfalse2020-09-302020Q30001734262--12-3124622446524622446501600000

F-1

COOTEK (CAYMAN) INC.

UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS

    

    

As of December 31, 

    

As of September 30, 

Note

2019

2020

US$

US$

ASSETS

 

  

 

  

 

  

Current assets:

 

  

 

  

 

  

Cash and cash equivalents

 

  

 

59,905,827

 

58,478,376

Restricted cash

 

  

 

60,204

 

60,209

Short-term investments

 

  

 

571,508

 

550,025

Accounts receivable, net of allowance for doubtful accounts of US $1,774,192 and US $1,961,728 as of December 31, 2019 and September 30, 2020, respectively

 

3

 

27,254,634

 

29,083,216

Prepaid expenses and other current assets

 

4

 

7,847,794

 

10,764,181

Total current assets

 

  

 

95,639,967

 

98,936,007

Long term restricted cash

2,472,998

Property and equipment, net

 

5

 

5,669,849

 

5,597,148

Intangible assets, net

 

  

 

267,736

 

419,343

Long-term investments

 

  

 

 

146,841

Other non-current assets

 

  

 

259,108

 

756,507

TOTAL ASSETS

 

  

 

101,836,660

 

108,328,844

LIABILITIES AND SHAREHOLDERS' EQUITY

 

  

 

  

 

  

Current liabilities (including amounts of the consolidated VIEs without recourse to the Company. See Note 2(b)):

 

  

 

  

 

  

Accounts payable

 

  

 

37,877,800

 

64,805,107

Short-term bank borrowings

 

6

 

9,012,645

 

14,822,161

Accrued salary and benefits

 

  

 

5,598,425

 

7,747,460

Accrued expenses and other current liabilities

 

7

 

5,955,956

 

10,215,400

Deferred revenue

 

  

 

3,887,908

 

4,697,267

Total current liabilities

 

  

 

62,332,734

 

102,287,395

Other non-current liabilities

 

  

 

595,563

 

493,467

TOTAL LIABILITIES

 

 

62,928,297

 

102,780,862

Commitments and contingencies

 

13

 

  

 

  

Shareholders' equity:

 

  

 

  

 

  

Class A ordinary shares (US$0.00001 par value; 13,750,000,000 shares authorized as of December 31, 2019 and September 30, 2020; 2,880,056,332 and 2,844,418,332 shares issued as of December 31, 2019 and September 30, 2020, respectively; 2,870,119,332 and 2,818,991,432 shares outstanding as of December 31, 2019 and September 30, 2020, respectively)

 

  

 

28,800

 

28,444

Class B ordinary shares (US$0.00001 par value; 250,000,000 shares authorized 246,224,465 shares issued and outstanding as of December 31, 2019 and September 30, 2020)

 

  

 

2,462

 

2,462

Treasury shares (9,937,000 and 25,426,900 shares as of December 31, 2019 and September 30, 2020, respectively)

 

10

 

(1,063,547)

 

(3,322,668)

Additional paid-in capital

 

  

 

194,971,827

 

192,375,859

Accumulated deficit

 

  

 

(153,598,346)

 

(182,181,327)

Accumulated other comprehensive loss

 

  

 

(1,432,833)

 

(1,354,788)

Total Shareholders' Equity

 

  

 

38,908,363

 

5,547,982

TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY

 

  

 

101,836,660

 

108,328,844

The accompanying notes are an integral part of these consolidated financial statements.

F-2

COOTEK (CAYMAN) INC.

UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS

For the nine months ended September 30, 

    

Note

    

2019

    

2020

US$

US$

Net revenues

 

108,899,479

 

339,065,455

Cost of revenue (including share-based compensation of US$65,858 and US$198,402 in the nine months ended September 30, 2019 and 2020, respectively)

 

(11,435,005)

 

(17,056,483)

Gross profit

 

97,464,474

 

322,008,972

Operating expenses:

 

  

 

  

General and administrative expenses (including share-based compensation of US$434,790 and US$1,281,380 in the nine months ended September 30, 2019 and 2020, respectively)

 

(13,504,075)

 

(11,144,938)

Research and development expenses (including share-based compensation of US$2,564,606 and US$2,157,990 in the nine months ended September 30, 2019 and 2020, respectively)

 

(21,197,631)

 

(23,153,735)

Sales and marketing expenses (including share-based compensation of US$151,444 and US$168,727 in the nine months ended September 30, 2019 and 2020, respectively)

 

(93,533,363)

 

(316,276,383)

Other operating income (loss), net

8

 

228,302

 

(227,540)

Total operating expenses

 

(128,006,767)

 

(350,802,596)

Loss from operations

 

(30,542,293)

 

(28,793,624)

Interest income, net

 

708,370

 

227,348

Foreign exchange losses, net

 

(364,545)

 

(13,505)

Loss before income taxes

 

(30,198,468)

 

(28,579,781)

Income tax expense

 

9

 

(1,714)

 

(3,200)

Net Loss attributable to ordinary shareholders

 

(30,200,182)

 

(28,582,981)

Net Loss per ordinary share:

 

12

 

  

 

  

Basic

 

(0.01)

 

(0.01)

Diluted

 

(0.01)

 

(0.01)

Net Loss per ADS (each of ADS represents 50 Class A ordinary shares):

 

 

Basic

 

(0.48)

 

(0.46)

Diluted

 

(0.48)

 

(0.46)

Weighted average shares used in calculating net loss per ordinary share:

 

 

Basic

 

3,163,501,054

 

3,086,630,271

Diluted

 

3,163,501,054

 

3,086,630,271

The accompanying notes are an integral part of these consolidated financial statements.

F-3

COOTEK (CAYMAN) INC.

UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

Net Loss

(30,200,182)

(28,582,981)

Other comprehensive (loss) income

 

  

 

  

Foreign currency translation adjustments, net of tax of nil

 

(220,513)

 

78,045

Comprehensive Loss

 

(30,420,695)

 

(28,504,936)

The accompanying notes are an integral part of these consolidated financial statements.

F-4

COOTEK (CAYMAN) INC.

UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS’ EQUITY

Accumulated

Additional

other

Total

Class A

Class B

paid-in

Accumulated

comprehensive

shareholders'

Ordinary shares

Ordinary shares

Treasury shares

capital

deficit

(loss) income

equity

Shares

US$

Shares

US$

Shares

US$

US$

US$

US$

US$

Balance at January 1, 2019

    

2,949,757,236

    

29,498

    

246,224,465

    

2,462

    

15,550,500

    

(2,499,167)

    

204,701,187

    

(116,752,285)

    

(1,158,900)

    

84,322,795

Net Loss

 

 

 

 

 

 

 

 

(30,200,182)

 

 

(30,200,182)

Foreign currency translation adjustments

 

 

 

 

 

 

 

 

 

(220,513)

 

(220,513)

Share-based compensation

 

 

 

 

 

 

 

3,216,698

 

 

 

3,216,698

Repurchase of ordinary shares

 

 

 

 

 

56,461,100

 

(9,741,378)

 

 

 

 

(9,741,378)

Cancellation of treasury shares

 

(32,268,350)

 

(323)

 

 

 

(32,268,350)

 

5,737,950

 

(5,737,627)

 

 

 

Exercise of share options

 

8,330,150

 

84

 

 

 

 

 

277,838

 

 

 

277,922

Issuance of ordinary shares upon vesting of restricted shares

 

9,397,592

 

95

 

 

 

 

 

(95)

 

 

 

Balance at September 30, 2019

 

2,935,216,628

 

29,354

 

246,224,465

 

2,462

 

39,743,250

 

(6,502,595)

 

202,458,001

 

(146,952,467)

 

(1,379,413)

 

47,655,342

Balance at January 1, 2020

 

2,880,056,332

 

28,800

 

246,224,465

 

2,462

 

9,937,000

 

(1,063,547)

 

194,971,827

 

(153,598,346)

 

(1,432,833)

 

38,908,363

Net Loss

 

 

 

 

 

 

 

 

(28,582,981)

 

 

(28,582,981)

Foreign currency translation adjustments

 

 

 

 

 

 

 

 

 

78,045

 

78,045

Share-based compensation

 

 

 

 

 

 

 

3,806,499

 

 

 

3,806,499

Repurchase of ordinary shares

 

 

 

 

 

64,770,700

 

(8,130,513)

 

 

 

 

(8,130,513)

Cash settlement on vested share options and restricted shares

 

 

 

 

 

 

 

(823,226)

 

 

 

(823,226)

Cancellation of treasury shares

 

(49,280,800)

 

(492)

 

 

 

(49,280,800)

 

5,871,392

 

(5,870,900)

 

 

 

Exercise of share options

 

9,415,600

 

94

 

 

 

 

 

291,701

 

 

 

291,795

Issuance of ordinary shares upon vesting of restricted shares

 

4,227,200

 

42

 

 

 

 

 

(42)

 

 

 

Balance at September 30, 2020

 

2,844,418,332

 

28,444

 

246,224,465

 

2,462

 

25,426,900

 

(3,322,668)

 

192,375,859

 

(182,181,327)

 

(1,354,788)

 

5,547,982

The accompanying notes are an integral part of these condensed consolidated financial statements.

F-5

COOTEK (CAYMAN) INC.

UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

Cash flows from operating activities:

  

  

Net Loss

 

(30,200,182)

 

(28,582,981)

Adjustments to reconcile net loss to net cash used in operating activities:

Depreciation and amortization

 

2,096,190

 

2,738,487

Provision for allowance of doubtful accounts

 

4,665,322

 

322,361

Share-based compensation

 

3,216,698

 

3,806,499

Loss on disposal of property and equipment

 

91

 

15,124

Changes in assets and liabilities:

 

  

 

Accounts receivable

 

(370,877)

 

(1,404,021)

Prepaid expenses and other current assets

 

(1,612,532)

 

(3,421,313)

Other non-current assets

 

238,762

 

(506,082)

Accounts payable

 

3,146,856

 

24,826,554

Accrued salary and benefits

 

(544,028)

 

1,578,215

Accrued expenses and other current liabilities

 

507,323

 

4,592,654

Deferred revenue

 

242,373

 

2,105,852

Other non-current liabilities

 

(285,690)

 

(102,097)

Net cash (used in) provided by operating activities

 

(18,899,694)

 

5,969,252

Cash flows from investing activities:

 

  

 

  

Purchases of property, equipment and intangible assets

 

(4,097,269)

 

(2,237,794)

Purchases of short-term investments

 

 

(13,000,000)

Maturity of short-term investments

 

 

13,022,268

Purchases of long-term investments

 

 

(146,841)

Net cash (used in) investing activities

 

(4,097,269)

 

(2,362,367)

Cash flows from financing activities:

 

  

 

  

Proceeds from short-term bank borrowings

 

5,040,813

 

15,240,004

Repayment of short-term bank borrowings

 

 

(9,515,198)

Proceeds from issuance of ordinary shares upon exercise of share options

 

277,922

 

291,795

Cash paid to settle vested share options and restricted shares

 

 

(823,226)

Cash paid for deferred issuance costs

(809,952)

Payments of share repurchases

 

(9,741,378)

 

(8,130,513)

Net cash (used in) financing activities

 

(5,232,595)

 

(2,937,138)

Net (decrease) increase in cash, cash equivalents, and restricted cash

 

(28,229,558)

 

669,747

Cash, cash equivalents, and restricted cash at beginning of period

 

84,859,915

 

59,966,031

Effect of exchange rate changes on cash, cash equivalents and restricted cash

 

(360,608)

 

375,805

Cash, cash equivalents, and restricted cash at end of period

 

56,269,749

 

61,011,583

Supplemental disclosure of cash flow information:

 

  

 

  

Income taxes paid

 

1,714

 

3,200

Interest paid

 

42,691

 

417,882

Supplemental disclosure of noncash investing and financing activities:

 

  

 

  

Purchases of property and equipment included in payables

 

54,814

 

224,410

Reconciliation in amounts on consolidated balance sheets:

 

  

 

  

Cash and cash equivalents

 

56,269,749

 

58,478,376

Restricted cash

 

 

2,533,207

Total cash, cash equivalents, and restricted cash

 

56,269,749

 

61,011,583

The accompanying notes are an integral part of these consolidated financial statements.

F-6

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

1. Organization and Principal Activities

CooTek (Cayman) Inc. (the "Company") was incorporated in the Cayman Islands on March 5, 2012. The Company, its subsidiaries, its consolidated Variable Interest Entities ("VIEs") and VIEs’ subsidiaries (collectively referred to as the "Group") are a fast-growing mobile internet company with a global vision, offering mobile applications including a portfolio of content-rich mobile applications.

History of the Group and reorganization

The Group’s history began in August 2008 with the commencement of operations of Shanghai Han Xiang (CooTek) Information Technology Co., Ltd ("Han Xiang"), a limited liability company incorporated in the People’s Republic of China ("PRC") by certain individuals. In October 2010, three outside investors acquired an aggregate of 24.24% equity interest of Han Xiang. In 2012, Han Xiang and its shareholders undertook a reorganization which was conducted to establish a Cayman holding company for the existing business to obtain investment from outside investors and in preparation of an overseas initial public offering. The Group has recognized the net assets of Han Xiang on a historical cost with no change in basis in the consolidated financial statements upon the completion of the reorganization. The shareholders’ rights and obligations remained the same after the reorganization.

On October 2, 2018 the Group completed its initial public offering ("IPO") and issued 4,350,000 American depositary shares representing 217,500,000 of the Group’s ordinary shares. Net proceeds from the IPO after deducting underwriting discount and offering costs were US$45.1 million.

2. Summary of Significant Accounting Policies

(a)   Basis of Presentation

The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America ("U.S. GAAP") and applicable rules and regulations of the Securities and Exchange Commission ("SEC"), regarding interim financial reporting, and include all normal and recurring adjustments that management of the Group considers necessary for a fair presentation of its financial position and operating results. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. Accordingly, these financial statements should be read in conjunction with the Group’s annual consolidated financial statements and notes thereto, included in the Company’s 2019 Annual Report on Form 20-F filed with the SEC on April 20, 2020, referred to as the Company’s 2019 Annual Report.

(b)   Principles of Consolidation

The consolidated financial statements include the financial information of the Company, its wholly owned subsidiaries, its consolidated VIEs and VIEs’ subsidiaries. All intercompany balances and transactions have been eliminated upon consolidation.

Applicable PRC laws and regulations currently limit foreign ownership of companies that provide internet content distribution services and any other restrictions. The Company is deemed a foreign legal person under PRC laws and accordingly subsidiaries owned by the Company are not eligible to engage in provisions of internet content or online services. The Group therefore conducts its online business through the following major consolidated VIEs:

Shanghai Chu Bao (CooTek) Information Technology Co., Ltd. ("Chu Bao")
Yingsun Information Technology (Ningbo) Co., Ltd. ("Yingsun")
Shanghai Qiaohan Technology Co., Ltd. ("Qiaohan")
Molihong (Shenzhen) Internet Technology Co., Ltd. ("Molihong")
Shanghai Dengyong Information Technology Co., Ltd. ("Dengyong")

F-7

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(b)   Principles of Consolidation (Continued)

The following consolidated financial statement balances and amounts of the Group’s VIEs were included in the accompanying unaudited condensed consolidated financial statements after the elimination of intercompany balances and transactions among the Company, its subsidiaries and its VIEs.

As of December 31,

As of September 30, 

2019

2020

    

US$

    

US$

ASSETS

 

  

 

  

Cash and cash equivalents

 

13,714,304

 

23,294,883

Restricted cash

 

203

 

209

Short-term investments

 

21,502

 

Accounts receivable, net

 

21,582,641

 

23,473,397

Prepaid expense and other assets

 

3,643,649

 

8,569,904

Long term restricted cash

2,472,998

Long-term investments

 

 

146,841

Property and equipment, net

 

496

 

9,231

Intangible assets, net

 

47,122

 

61,020

Other non-current assets

 

 

2,131

Total Assets

 

39,009,917

 

58,030,614

LIABILITIES

 

  

 

  

Accounts payable

 

35,002,827

 

57,304,063

Short-term bank borrowings

 

408,264

 

256,697

Accrued salary and benefits

 

275,091

 

604,020

Accrued expenses and other current liabilities

 

1,385,303

 

3,696,308

Deferred revenue

 

3,658,808

 

1,928,241

Total Liabilities

 

40,730,293

 

63,789,329

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Net revenues

38,276,479

299,205,121

Loss from operations

 

(18,841,315)

 

(94,447)

Net (loss) income

 

(18,823,768)

 

150,325

Net cash (used in) provide by operating activities

 

(6,560,184)

 

18,000,288

Net cash used in investing activities

 

 

(201,320)

Net cash provided by (used in) financing activities

 

44,315

 

(179,412)

The VIEs’ assets are comprised of recognized and unrecognized revenue-producing assets. The recognized revenue producing assets mainly include purchased servers and software, which are presented in the account of "Property and equipment, net" and "Intangible assets, net". The unrecognized revenue-producing assets mainly consist of the Internet Content Provider license ("ICP" license), trademarks, copyrights and registered patents, which are not recognized in the consolidated balance sheets.

Revenues of VIEs included in the consolidated financial statements mainly include revenue of advertising services. The VIEs contributed 35% and 88% of the Group’s consolidated net revenues for the nine months ended September 30, 2019 and 2020, respectively. As of December 31, 2019 and September 30, 2020, the VIEs accounted for an aggregate of 38% and 54% respectively, of the consolidated total assets, and 65% and 62% respectively, of the consolidated total liabilities.

F-8

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(b)   Principles of Consolidation (Continued)

There are no terms in any arrangements, considering both explicit arrangements and implicit variable interests that require the Company or its subsidiaries to provide financial support to the VIEs. However, if the VIEs were ever to need financial support, the Group may, at its option and subject to statutory limits and restrictions, provide financial support to its VIE through loans to the shareholders of the VIEs.

The Group believes that there are no assets held in the VIEs that can be used only to settle obligations of the VIEs, except for registered capital and the PRC statutory reserves. As the VIEs are incorporated as limited liability companies under the PRC Company Law, creditors of the VIEs do not have recourse to the general credit of the Company for any of the liabilities of the VIEs. Relevant PRC laws and regulations restrict the VIEs from transferring a portion of their net assets, equivalent to the balance of its statutory reserve and its share capital, to the Company in the form of loans and advances or cash dividends.

(c)   Use of Estimates

The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and reported amounts of revenues and expenses during the reporting period. Actual results may differ from these estimates. The Group bases its estimates on historical experience and various other factors believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Significant accounting estimates reflected in the Group's financial statements including but not limited to allowance for doubtful accounts, valuation allowances of deferred tax assets, and valuation of share-based compensation. Actual results may differ materially from those estimates.

(d)   Fair Value

Fair value reflects the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Group considers the principal or most advantageous market in which it would transact and considers assumptions that market participants would use when pricing the assets or liabilities.

The Group applies a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. This guidance specifies a hierarchy of valuation techniques, which is based on whether the inputs into the valuation technique are observable or unobservable. The hierarchy is as follows:

Level 1— Valuation techniques in which all significant inputs are unadjusted quoted prices from active markets for assets or liabilities that are identical to the assets or liabilities being measured.
Level 2— Valuation techniques in which significant inputs include quoted prices from active markets for assets or liabilities that are similar to the assets or liabilities being measured and/or quoted prices for assets or liabilities that are identical or similar to the assets or liabilities being measured from markets that are not active. Also, model-derived valuations in which all significant inputs and significant value drivers are observable in active markets are Level 2 valuation techniques.
Level 3— Valuation techniques in which one or more significant inputs or significant value drivers are unobservable. Unobservable inputs are valuation technique inputs that reflect the Group’s own assumptions about the assumptions that market participants would use in pricing an asset or liability.

The fair value guidance describes three main approaches to measure the fair value of assets and liabilities: (1) market approach; (2) income approach and (3) cost approach. The market approach uses prices and other relevant information generated from market transactions involving identical or comparable assets or liabilities. The income approach uses valuation techniques to convert future amounts to a single present value amount. The measurement is based on the value indicated by current market expectations about those future amounts. The cost approach is based on the amount that would currently be required to replace an asset.

F-9

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(d)   Fair Value (Continued)

When available, the Group uses quoted market prices to determine the fair value of an asset or liability. If quoted market prices are not available, the Group will measure fair value using valuation techniques that use, when possible, current market-based or independently sourced market parameters, such as interest rates and currency rates.

Beginning January 1, 2019, the Group’s equity investments without readily determinable fair values, which do not qualify for NAV practical expedient and over which the Group does not have the ability to exercise significant influence through the investments in common stock or in substance common stock, are accounted for under the measurement alternative upon the adoption of Accounting Standards Update ("ASU") 2016-01 Recognition and Measurement of Financial Assets and Liabilities (the "Measurement Alternative"). Under the Measurement Alternative, the carrying value is measured at cost, less any impairment, plus and minus changes resulting from observable price changes in orderly transactions for identical or similar investments. After management’s assessment of each of the long-term investments, management concluded that investments do not have readily determinable fair values, and elects the measurement alternative.

Financial instruments not reported at fair value include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, other current liabilities and short-term bank borrowings. The carrying amounts of these financial instruments as of December 31, 2019 and September 30, 2020 were considered representative of their fair values due to their short-term nature.

(e)   Foreign Currency Translation

The functional currency of the Group is the United States Dollar ("US$"). The functional currency of the subsidiaries and the VIEs in the PRC is Renminbi ("RMB"). The functional currency of all the other subsidiaries is US$.

Foreign currency transactions have been translated into the functional currency at the exchange rates prevailing on the date of transactions. Foreign currency denominated monetary assets and liabilities are re-measured into the functional currency at exchange rates prevailing on the balance sheet date. Exchange gains and losses have been included in the determination of net income.

The Group has chosen the US$ as its reporting currency. Assets and liabilities have been translated using exchange rates prevailing on the balance sheet date. Equity accounts are translated at historical exchange rates. Income statement items have been translated using the average exchange rate for the year. Translation adjustments have been reported as cumulative translation adjustments and are shown as a component of other comprehensive income/loss in the consolidated statements of comprehensive (loss) income and consolidated statements of changes in shareholders’ equity.

(f)   Cash, Cash Equivalents and Restricted Cash

Cash and cash equivalents consist of cash on hand, demand deposits and floating rate financial instruments which are unrestricted as to withdrawal or use, and which have original maturities of three months or less when purchased.

The Group's current-portion restrict cash represents amounts held in Group's bank account as guarantee deposit for payments processing services provided by the bank.

Certain bank accounts were frozen by the PRC local authority in connection with an ongoing investigation of alleged misconducts of third-party advertisers perpetrated on the Group's advertising platform. As of September 30, 2020, cash held in these frozen bank accounts amounted to US$2,472,998. These funds are presented as long-term restricted cash on the consolidated balance sheet as of September 30, 2020 as the Group cannot control the timing of its release. In October 2020, an additional US$18.4 million was deposited into these frozen bank accounts. The Group is still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation.

(g)   Short-term Investments

Short-term investments primarily comprises of the time deposits with banks maturities between three months and one year. The Group states the short-term investments at amortized cost.

F-10

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(h)   Revenue Recognition

Mobile Advertising

The Group generates substantially all of its revenue through mobile advertising. As of January 1, 2019, the Group adopted ASU 2014-09 Revenue from Contracts with Customers - Topic 606 and all subsequent ASUs that modified ASC 606. The Group has elected to apply the ASU and all related ASUs under the modified retrospective method to all contracts that were not completed as of January 1, 2019. Results for reporting periods beginning after January 1, 2019 are presented under Topic 606, while prior period amounts are not adjusted and continue to be reported under the accounting standards in effect for the prior period. The Group did not note any effects of applying the new revenue standard as an adjustment to the opening balance of retained earnings at the beginning of 2019.

In order to achieve that core principle, the Company applies the following five-step approach: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when a performance obligation is satisfied.

The Group provides advertising services to customers for promotion of their brands and products through its mobile applications, including a portfolio of content-rich mobile applications. The Group has two general pricing models for its advertising products: cost over a time period and cost for performance basis including per impression basis. For advertising contracts over a time period, the Group generally recognizes revenue ratably over time, because the customer simultaneously receives and consumes the benefits as the Group performs throughout a fixed contract term. For contracts that are charged on the cost for performance basis, the Group charges an agreed-upon fee to its customers determined based on the effectiveness of advertising links, which is typically measured by clicks, transactions, installations, user registrations, and other actions originating from the Group’s mobile applications. Revenue is recognized at a point in time when there is an effective click, transaction, installations, user registrations, and other actions originating from the Group’s mobile applications. For contracts that are charged on the cost per impression basis, the Group recognizes the revenue at a point in time when the impressions are delivered. Revenue for performance-based advertising services is recognized at a point in time when all the revenue recognition criteria are met.

The Group launched in-house developed advertising platform, CooTek Ads, to provide tailored advertising services from late 2019. Customers engaged through CooTek Ads are required to pay a deposit before using Group's services. The deposits received are recorded as deferred revenue on the consolidated balance sheets. The amounts due to the Group are deducted from the deposited amounts when performance criteria have been satisfied.

Others

The Group also generates other revenues through cloud call business, licensing of its Smart Inputs products and membership fee from the users. The revenue is recognized when service is rendered.

F-11

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(h) Revenue Recognition (Continued)

Sales Incentives

The Group provides sales incentives to certain customers on the CooTek Ads in the form of sales rebates which entitle them to receive reductions in the price by meeting certain cumulative consumption requirement or replenishing required amount of deposit. The Group accounts for these incentives granted to customers as variable consideration and records it as reduction of revenue. The amount of variable consideration is measured based on the most likely amount of incentives to be. For the nine months ended September 30, 2019 and 2020, the rebates recorded by the Group were nil and US$48,491,685, respectively.

Disaggregation of Revenue

In the following table, revenue is disaggregated by revenue streams and geographic location of customers’ headquarters.

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

Revenue:

Advertising revenue

 

106,575,374

 

337,037,822

Other revenue

2,324,105

2,027,633

Total

 

108,899,479

 

339,065,455

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

USA

51,314,113

11,161,631

PRC

 

55,423,779

 

325,246,386

Others

2,161,587

2,657,438

Total

 

108,899,479

 

339,065,455

Contract Balances

Timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable represent amounts invoiced, and revenue recognized prior to invoicing when the Group has satisfied its performance obligations and has the unconditional right to payment.

F-12

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(h) Revenue Recognition (Continued)

Contract liabilities include payments received in advance of performance under the contract or for differences between the amount billed to a customer and the revenue recognized for the completed performance obligation which is presented as deferred revenue on the consolidated balance sheets. Due to the generally short-term duration of the Group’s contracts, the majority of the performance obligations are satisfied in one year. The movements of the Group’s accounts receivable and deferred revenue are as follows:

    

Accounts Receivable

    

Deferred Revenue

US$

US$

Opening Balance at January 1, 2019

23,373,969

344,361

(Decrease) Increase, net

(3,966,005)

239,404

Ending Balance at September 30, 2019

19,407,964

583,765

Opening Balance at January 1, 2020

 

27,254,634

 

3,887,908

Increase, net

1,828,582

809,359

Ending Balance at September 30, 2020

 

29,083,216

 

4,697,267

The Group recognized revenue of US$263,383 and US$3,637,328 by the reducing the balance of deferred revenue in the nine months ended September 30, 2019 and 2020, respectively, which were included in the balance of deferred revenue at the beginning of the each period.

(i)   Sales and Marketing Expenses

Sales and marketing expenses primarily consist of advertising expenses, salaries and benefits of sales and marketing personnel and fees paid to mobile device manufacturers to pre-install the Group’s Smart Input products. Advertising expenses represent payment to the third parties for online user acquisition of the Group’s products via social media and demand-side platforms. Advertising expenses are expensed as sales and marketing expenses when the services are received. Such expenses amounted to US$86,189,395 and US$310,602,100 for the nine months ended September 30, 2019 and 2020, respectively.

(j)   Concentration and Risks

Financial instruments that potentially expose the Group to concentration of credit risk consist primarily of cash and cash equivalents, short-term investments, accounts receivable and prepayments. The Group places its cash and cash equivalents and short-term investments with financial institutions with high-credit ratings and quality. The Group conducts credit evaluations of customers, and generally does not require collateral or other security from its customers. The Group 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 prepayments, the Group performs on-going credit evaluations of the financial condition of these suppliers and has noted no significant credit risk.

F-13

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(j)   Concentration and Risks (Continued)

Concentration of Customers

The following customers accounted for 10% or more of revenue:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company A

21,335,698

20

%  

*

*

Company B

 

21,731,172

20

%

*

 

*

Company C

11,088,217

10

%

*

*

Company D

16,873,890

16

%

*

*

Company E

*

*

91,588,390

27

%

The following customers accounted for 10% or more of accounts receivable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company B

17,944,840

62

%  

*

*

Company C

 

4,142,638

 

14

%

*

 

*

Company D

 

3,840,005

 

13

%

*

 

*

Company E

 

*

 

*

 

12,354,156

 

40

%

Company F

 

*

 

*

 

9,824,384

 

32

%

Concentration of Vendors

The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company G

11,080,305

12

%  

*

*

Company H

 

10,853,930

12

%

*

 

*

Company I

*

*

41,804,056

13

%

The following vendors accounted for 10% or more of accounts payable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company H

*

*

8,433,642

13

%

Company J

 

*

 

*

7,378,433

 

11

%

*

Less than 10%.

F-14

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(j)   Concentration and Risks (Continued)

Business and Economic Risks

The Group participates in the dynamic and competitive high technology industry and believes that changes in any of the following areas could have a material adverse effect on the Group's future financial position, results of operations and cash flows: changes in the overall demand for services and products; competitive pressures due to existing and new entrants; advances and new trends in new technologies and industry standards; changes in certain strategic relationships or customer relationships; regulatory considerations; copyright regulations; brand maintenance and enhancement; and risks associated with the Company's ability to attract and retain employees necessary to support its growth.

The Group's operations could be adversely affected by significant political, economic and social uncertainties in the PRC.

Foreign Currency Risk

The RMB is not a freely convertible currency. The State Administration for Foreign Exchange in the PRC, under the authority of the Peoples Bank of China, controls the conversion of RMB into other currencies. The value of the RMB is subject to changes in central government policies, international economic and political developments affecting supply and demand in the China Foreign Exchange Trading System market. The Group's cash and cash equivalents and restricted cash denominated in RMB amounted to RMB139,905,845 (amounted to US$20,054,735) and RMB292,519,950 (amounted to US$42,953,841) as of December 31, 2019 and September 30, 2020, respectively.

(k)  Recent Accounting Pronouncements

New accounting pronouncements recently adopted

In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (Topic 820): Disclosure Framework - Changes to the Disclosure Requirements for Fair Value Measurement, which changes certain disclosure requirements, including those related to Level 3 fair value measurements. The provisions of ASU 2018-13 relating to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements, and the narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. The remaining provisions should be applied retrospectively to all periods presented upon their effective date. The Group has adopted this ASU on January 1, 2020, which did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.

In October 2018, the FASB issued ASU 2018-17, Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities. Under the new guidance, to determine whether decision-making fees represent a variable interest, an entity considers indirect interests held through related parties under common control on a proportionate basis, rather than in their entirety. ASU 2018-17 is effective for annual periods beginning after December 15, 2019, including interim periods within those fiscal years, and early adoption is permitted in any interim period. ASU 2018-17 is required to be applied retrospectively from the date the guidance is first applied. The Group has early adopted this ASU on January 1, 2020 and did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.

F-15

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

2. Summary of Significant Accounting Policies (Continued)

(l)  Recent Accounting Pronouncements (Continued)

New accounting pronouncements not yet adopted

In February 2016, the FASB issued ASU 2016-02, Leases (Topic 842), which requires lessees to recognize leases on balance sheet and disclose key information about lease arrangements. The new standard establishes a right-of-use ("ROU") model that requires a lessee to recognize a ROU asset and lease liability on the balance sheet for all leases with terms of longer than 12 months. Leases will be classified as finance or operating, with classification affecting the pattern and classification of expense recognition in the income statement. The standard is effective on January 1, 2019, with early adoption permitted, for public business entity ("PBE"). And it is effective on January 1, 2020 for non-issuers and PBEs that meet the definition of a PBE solely because their financial statements or financial information is included in a filing with the SEC. In July 2018, the FASB issued an update that provided an additional transition option that allows companies to continue applying the guidance under the lease standard in effect at that time in the comparative periods presented in the consolidated financial statements. Companies that elect this option would record a cumulative-effect adjustment to the opening balance of retained earnings on the date of adoption. In November 19, 2019, the FASB issued ASU 2019-10 to amend the effective date for ASU 2016-02 to be January 1, 2021 for non-issuers. The Group as an EGC has elected to adopt the new lease standard as of the effective date applicable to nonissuers and will implement the new lease standard on January 1, 2021 using the modified retrospective method. The modified retrospective approach would not require any transition accounting for leases that expired before the earliest comparative period presented. In addition, the Group will elect the transition practical referred to as the "package of three", 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. The Group is in the process of evaluating the impact on its consolidated financial statements, as well as the impact of adoption on policies, practices, systems and financial statement disclosures. As of September 30, 2020, the Group has US$2.9 million of future minimum operating lease commitments that are not currently recognized on its consolidated balance sheets (see note 13).

In June 2016, the FASB issued ASU 2016-13, Credit Losses, Measurement of Credit Losses on Financial Instruments. This ASU provides more useful information about expected credit losses to financial statement users and changes how entities will measure credit losses on financial instruments and timing of when such losses should be recognized. This ASU is effective for annual and interim periods beginning after December 15, 2019 for the public business entities. Early adoption is permitted for all entities for annual periods beginning after December 15, 2018, and interim periods therein. In November 2019, the FASB issued ASU No. 2019-10 which delayed the effective date of ASU 2016-13 for smaller reporting companies (as defined by the U.S. Securities and Exchange Commission) and other non-SEC reporting entities to fiscal years beginning after December 15, 2022, including interim periods within those fiscal periods. Early adoption is permitted. The Company is currently assessing the impact the guidance will have on its consolidated financial statements.

3. Accounts Receivable, net

Accounts receivable, net, consisted of the following:

    

As of December 31,

    

As of September 30, 

2019

2020

US$

US$

Accounts receivable

 

29,028,826

 

31,044,944

Allowance for doubtful accounts:

 

 

Balance at beginning of the year/period

 

(1,286,120)

 

(1,774,192)

Additions charged to bad debt expense

 

(4,104,458)

 

(322,361)

Write-off

 

3,616,076

 

141,266

Foreign exchange effect

 

310

 

(6,441)

Balance at end of the year/period

 

(1,774,192)

 

(1,961,728)

Accounts receivable, net

 

27,254,634

 

29,083,216

F-16

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

4. Prepaid Expenses and Other Current Assets

Prepaid expenses and other current assets consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

 

US$

 

US$

Value added tax recoverable

 

3,750,491

 

4,649,736

Other receivables

 

1,575,467

 

3,856,326

Advance to suppliers

 

1,545,793

 

952,760

Others

 

976,043

 

1,305,359

Prepaid expenses and other current assets

 

7,847,794

 

10,764,181

5. Property and Equipment, net

Property and equipment, net, consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Electronic equipment

 

9,622,184

 

12,045,523

Office equipment and furniture

 

334,452

 

346,181

Motor vehicles

 

82,470

 

82,470

Leasehold improvements

 

1,410,105

 

1,561,612

Construction in progress

 

76,200

 

Total

 

11,525,411

 

14,035,786

Less: Accumulated depreciation

 

(5,855,562)

 

(8,438,638)

Property and equipment, net

 

5,669,849

 

5,597,148

For the nine months ended September 30, 2019 and 2020 depreciation expenses were US$2,077,516 and US$2,656,359, respectively.

6. Short-term Bank Borrowings

The Group’s bank borrowings consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Short-term borrowings

 

9,012,645

 

14,822,161

In July 2016, the Group entered into a credit facility agreement with a commercial bank under which the Group can draw-down up to US$6.0 million by October, 2018. In October 2019, the Group renewed the bank credit facility under which the Group can borrow up to US$6.0 million collateralized by its accounts receivable by October, 2020. In 2019, the Group has aggregately drawn down the credit facility of US$7.7 million and repaid US$1.9 million. The weighted average interest rate for borrowings drawn under such credit facility was 5.53% for the year ended December 31, 2019. In June 2020, the Group renewed the bank credit facility under which the Group can borrow up to US$11.0 million collateralized by its accounts receivable by June 2021. The interest rate for this credit facility is the LPR base interest rate plus 1.30%. For the nine months ended September 30, 2020, the Group has aggregately drawn down the credit facility of US$11.1million and repaid US$6.3 million, and the weighted average interest rate for borrowings drawn under such credit facility was 5.15%. The loan contains maximum quarterly net loss as financial covenants which the Group failed to fulfill as of September 30, 2020. The Group is negotiating for the waiver of the financial covenants with the bank.

F-17

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

6. Short-term Bank Borrowings (Continued)

In July 2018, the Group entered into a credit facility agreement with a commercial bank under which the Group can draw-down up to US$4.0 million by July, 2019. In October 2019, the Group renewed the bank credit facility under which the Group can borrow up to US$4.0 million collateralized by its accounts receivable by October 2020. In 2019, the Group has aggregately drawn down the credit facility of US$6.4 million and repaid US$3.2 million. The weighted average interest rate for borrowings drawn under such credit facility was 6.12% for the year ended December 31, 2019. In June 2020, the Group renewed the bank credit facility under which the Group can borrow up to US$4.0 million collateralized by its accounts receivable by June 2021. The interest rate for this credit facility is Libor plus 3.5%, determined on the draw-down date. For the nine months ended September 30, 2020, the Group has aggregately drawn down the credit facility of US$4 million and repaid US$3.2million, and the weighted average interest rate for borrowings drawn under such credit facility was 3.84%. The loan contains maximum quarterly net loss as financial covenants which the Group failed to fulfill as of September 30, 2020. The Group is negotiating for the waiver of the financial covenants with the bank.

As of September 30, 2020, the Group has fully utilized the credit facility.

7. Accrued Expenses and Other Current Liabilities

Accrued expenses and other current liabilities consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Other tax payables (Note 1)

 

3,239,430

 

4,564,615

Accrued expenses (Note 2)

 

2,106,993

 

4,665,599

Others

 

609,533

 

985,186

Total

 

5,955,956

 

10,215,400

Note 1: Other tax payables as of September 30, 2020, mainly consisted of value-added tax payable of US$4.6 million and other taxes such as individual income tax and stamp duty tax.

Note 2: Accrued expenses mainly consisted of accrued professional service fees and other miscellaneous accrued marketing and operation expenses.

8. Other Operating Income (Loss), net

Other operating loss, net for the nine months ended September 30, 2020, primarily consisted of government subsidies received by the Group, compensation payment of US$1.6 million to victims of alleged misconducts of certain third-party advertisers perpetrated on the Group's platform that the Group deposited to an escrow account controlled by a local authority conducting investigation on the advertisers and contingent liabilities for intellectual property infringement and unfair competition lawsuits during operations. Other operating income, net for the nine months ended September 30, 2019, primarily consisted of government subsidies received by the Group and contingent liabilities for intellectual property infringement lawsuit during operations.

F-18

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

9. Income Taxes Expense

The current and deferred portion of income tax expenses included in the consolidated statements of operations are as follows:

    

For the nine months ended September 30,

    

2019

    

2020

Current tax expenses

1,714

 

3,200

Deferred tax benefits

 

Total

1,714

 

3,200

The Group’s effective tax rates were nil for the nine months ended September 30, 2019 and 2020, respectively.

The Group recorded a full valuation allowance against deferred tax assets of all its consolidated entities because all entities were in a cumulative loss position as of December 31, 2019 and September 30, 2020. No unrecognized tax benefits and related interest and penalties were recorded in any of the periods presented.

10. Treasury Shares

Treasury shares represent shares repurchased by the Group that are no longer outstanding and are held by the Group. For the nine months ended September 30, 2020, under the repurchase plan, the Group had repurchased an aggregate of 64,770,700 ordinary shares on the open market for a total cash consideration of US$8,130,513, which were accounted for as the cost of the treasury shares.

As of September 30, 2020, 135,205,550 treasury shares have been cancelled.

11. Share-Based Compensation

Share Options

The options have a contractual term of ten years. The vesting date starts on the grant date or the commencement date of a participant’s employment agreement. The options vest 20% on each of the five anniversary dates of the vesting date and upon continued employment. In the event of termination of a participant’s employment, the unvested options shall be terminated immediately. The participant’s right to exercise the vested options shall be terminated 2 or 3 months after the termination of the employment.

The Group uses the binomial option pricing model and the following assumptions to estimate the fair value of the options at the date of granted:

    

    

Nine Months ended

Year ended December 31

September 30

2019

2020

Average risk-free rate of interest

 

1.67%

0.67%

Expected volatility

 

42.50%-43.22%

43.18%-43.38%

Dividend yield

 

0%

0%

Contractual term

 

10 years

10 years

Fair value of the underlying shares on the date of option grants

 

0.09-0.10

0.10-0.13

On November 6, 2018, the Board of Directors approved an option modification to reduce the exercise price of certain options granted to employees. All other terms of the share options granted remain unchanged. The modification resulted in incremental compensation cost of US$285,661, of which US$68,530 and US$42,867 was recorded during the nine months ended September 30, 2019 and the nine months ended September 30, 2020, respectively. The remaining US$141,977 will be amortized over the remaining vesting period of the modified options, ranging from the remaining of 2020 to 2021.

F-19

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

11. Share-Based Compensation (Continued)

Share Options (Continued)

The risk-free rate of interest is based on the US Treasury yield curve as of valuation date. Volatility is estimated based on annualized standard deviation of daily stock price return of comparable companies for the period before valuation date and with similar span as the expected expiration term. The Group has never declared or paid any cash dividends on its capital stock, and the Group does not anticipate any dividend payments in the foreseeable future.

A summary of the aggregate option activity and information regarding options outstanding as of September 30, 2020 is as follows:

    

    

Weighted

Number of

average exercise

options

price

US$

Outstanding on January 1, 2020

 

160,800,982

 

0.05

Granted

 

145,572,500

 

0.0002

Forfeited

 

(7,108,508)

 

0.03

Expired

 

 

Exercised

 

(15,220,000)

 

0.04

Outstanding on September 30, 2020

 

284,044,974

 

0.02

Options exercisable on September 30, 2020

 

128,681,130

 

0.05

Vested or expected to vest as of September 30, 2020

 

284,044,974

 

0.02

The weighted average grant date fair values of options granted during the nine months ended September 30, 2019 and the nine months ended September 30, 2020 were US$0.10 and US$0.10, respectively.

For the nine months ended September 30, 2020, 15,220,000 of options were exercised with an aggregate intrinsic value of US$944,105. For the nine months ended September 30, 2019, 8,330,150 of options were exercised with an aggregate intrinsic value of US$545,013.

For the nine months ended September 30, 2019 and 2020 excluding the incremental compensation cost resulted from the modification discussed above, the Group recognized share-based compensation expense of US$439,601 and US$2,292,252, respectively. As of September 30, 2020, there was US$12,686,969 in total unrecognized compensation cost related to non-vested stock options, which is expected to be recognized over a weighted-average period of 3.28 years.

Restricted Share Units

In the nine months ended September 30, 2020, the Group granted to certain employees 1,578,500 Restricted Share Units ("RSUs"). The RSUs have a contractual term of ten years and vest 25% on each anniversary over four years from the grant date. The vesting of these RSUs is conditioned on continued employment. Compensation expense based on fair value is amortized over the requisite service period of award using the straight line vesting attribution method.

F-20

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

11. Share-Based Compensation (Continued)

Restricted Share Units (Continued)

A summary of the RSUs activity for the nine months ended September 30, 2020 is as follows:

    

    

Weighted average

Number of

grant date

restricted shares

fair value

Unvested restricted shares outstanding at January 1, 2020

 

50,725,912

 

0.20

Granted

 

1,578,500

 

0.10

Vested

 

(11,331,332)

 

0.22

Forfeited

 

(11,779,000)

 

0.17

Unvested restricted shares outstanding at September 30, 2020

 

29,194,080

 

0.19

Expected to vest at September 30, 2020

 

29,194,080

 

0.19

The share-based compensation expense related to RSUs of US$2,708,567 and US$1,471,380 were recognized by the Group for the nine months ended September 30, 2019 and 2020, respectively.

As of September 30, 2020, there was US$4,477,292 in unrecognized compensation costs, net of actual forfeitures, related to unvested restricted shares, which is expected to be recognized over a weighted-average period of 2.30 years.

In June 2020, the Group cash settled certain vested share options and RSUs at fair value amounted to US$823,226. Given the transaction is an one-time transaction, negotiated after the award is vested, and not pursuant to a pre-existing right of the Group, the Group accounted for it as a repurchase of equity with amount of cash paid recorded as additional paid in capital.

12. Net Loss Per Share

Net loss per share was computed by dividing net loss attributable to ordinary shareholders by the weighted average number of ordinary shares outstanding for the nine months ended September 30, 2019 and 2020:

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Numerator:

Net loss—basic and diluted

 

(30,200,182)

 

(28,582,981)

Net loss attributable to ordinary shareholders

 

(30,200,182)

 

(28,582,981)

Shares (Denominator):

 

  

 

  

Weighted average number of ordinary shares outstanding

 

  

 

  

Basic

 

3,163,501,054

 

3,086,630,271

Diluted

 

3,163,501,054

 

3,086,630,271

Net loss earnings per share—basic and diluted

 

(0.01)

 

(0.01)

F-21

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

12. Net Loss Per Share (Continued)

As a result of the Group’s net loss for the nine months ended September 30, 2019 and 2020, diluted net loss per share does not include the following instruments as their inclusion would be antidilutive:

For the nine months ended September 30, 

    

2019

    

2020

Share options

160,139,359

284,044,974

Restricted shares units

 

60,108,963

 

29,194,080

Total

 

220,248,322

 

313,239,054

13. Commitments and Contingencies

Lease Commitments

The Group leases certain office premises under operating leases. The term of each lease agreement vary and may contain renewal options. Rental payments under operating leases are charged to operating expenses on a straight-line basis over the period of the lease based on contract terms. Rental expenses under operating leases for the nine months ended September 30, 2019 and 2020 were US$1,338,427, and US$1,096,762, respectively.

Future lease payments under operating leases as of September 30, 2020 were as follows:

Year ending December 31

    

US$

 

The remaining of 2020

 

494,753

2021

 

1,590,357

2022

 

741,411

2023

 

60,455

Total

 

2,886,976

The Group did not have other significant capital commitments or significant guarantees as of December 31, 2019 and September 30, 2020, respectively.

Contingencies

From time to time, the Group is a party to various legal actions arising in the ordinary course of business. The Group accrues costs associated with these matters when they become probable and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies are expensed as incurred. The Group's management does not expect any liability from the disposition of such claims and litigation individually or in the aggregate would have a material adverse impact on the Group's consolidated financial position, results of operations and cash flows.

14. Segment Information

The Group has only one reportable segment since the Group does not distinguish revenues, costs and expenses between segments in its internal reporting, and reports costs and expenses by nature as a whole.

The Group’s chief operating decision maker, who has been identified as the Chief Executive Officer, reviews the consolidated results when making decisions about allocating resources and assessing performance of the Group as a whole. The Group does not distinguish among markets or segments for the purpose of internal reports.

F-22

Table of Contents

COOTEK (CAYMAN) INC.

NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

14. Segment Information (Continued)

Information about the Group’s non-current assets is presented based on the geographical location of the assets as follows:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

PRC

 

2,655,953

 

4,258,416

USA

 

3,540,740

 

2,661,423

Total

 

6,196,693

 

6,919,839

15. Subsequent Event

Pursuant to the repurchase shares program announced on May 18, 2020, 5,486,350 shares (equivalent to 109,727 ADSs) of the Group’s Class A ordinary shares were purchased from October 1, 2020 through December 14, 2020 for a total cash consideration of US$0.5 million from the public market.

F-23

EX-99.2 3 ctk-20201231xex99d2.htm EXHIBIT 99.2

Exhibit 99.2

MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION

AND RESULTS OF OPERATIONS

This management’s discussion and analysis is designed to provide you with a narrative explanation of our financial condition and results of operations for the nine months ended September 30, 2019 and 2020. This section should be read in conjunction with our unaudited condensed consolidated financial statements for the nine-month periods ended September 30, 2019 and 2020 and related notes thereto, or the Unaudited Condensed Consolidated Financial Statements, included as Exhibit 99.1 to the report on Form 6-K to which this discussion is included. We also recommend that you read our management’s discussion and analysis and our audited consolidated financial statements for fiscal year 2019, and the notes thereto, which appear in our annual report on Form 20-F for the year ended December 31, 2019, or the Annual Report, filed with the U.S. Securities and Exchange Commission, or the SEC.

Unless otherwise indicated or the context otherwise requires, all references to “our company,” “we,” “our,” “ours,” “us” or similar terms refer to CooTek (Cayman) Inc., its subsidiaries and its consolidated affiliated entities, as the context requires; all references to "VIEs" refer to Shanghai Chubao (CooTek) Information Technology Co., Ltd., Shanghai Hanxiang (CooTek) Information Technology Co., Ltd. and two other domestic companies; all references to “DAUs” refer to the number of active users of our products during a given day; and all references to “MAUs” refer to the number of active users of our products during a given month. For each individual product, we treat each mobile device on which at least one of the following actions is taken during a given day or month as one active user for that day or month: (1) activating or launching such product, (2) logging in with the user account for such product, or (3) any other actions that result in a successful network access to our services through such product. The DAUs of multiple products during a given day is the sum of active users of each such product for that day, and the MAUs of multiple products during a given month is the sum of active users of each such product for that month. "Average daily reading time" for any day is calculated by dividing (1) the sum of time spent on reading books on our Fengdu Novel for such day, by (2) the number of Fengdu Novel users who spent time on reading books for such day. "Average daily reading time" for any month is calculated by dividing (1) the sum of average daily reading time for each day in such month, by (2) the number of days in such month.

All such financial statements were prepared in accordance with accounting principles generally accepted in the United States, or U.S. GAAP. We have made rounding adjustments to some of the figures included in this management’s discussion and analysis. Accordingly, numerical figures shown as totals in some tables may not be an arithmetic aggregation of the figures that precede them. This discussion contains forward-looking statements that involve risks, uncertainties and assumptions. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of various factors.


Key Operating Metrics

We regularly review several key operating metrics to evaluate our business and measure our performance.

Average DAUs of our portfolio products were 27.7 million in September 2020, representing a 16% increase from 23.9 million in September 2019. Our portfolio products mainly focus on three categories: online literature, scenario-based content apps and casual games. Average DAUs of our online literature were 10.0 million in September 2020, representing a significant increase from 2.0 million in September 2019. The key product of our online literature apps is Fengdu Novel (originally known as Crazy Reading Novel). The average daily reading time of Fengdu Novel’s users was approximately 130 minutes in September 2020.

Average DAUs and MAUs of our TouchPal Smart Input were 130.0 million and 169.4 million, respectively, in September 2020.

The following table sets forth the average DAUs and MAUs of our portfolio products with the average DAUs and MAUs of online literature separately presented for each of the months indicated.

For the Month Ended,

    

Mar 31,
2019

    

Jun 30,
2019

    

Sep 30,
2019

    

Dec 31,
2019

    

Mar 30,
2020

    

Jun 30,
2020

    

Sep 30,
2020

(in millions)

Portfolio Products

 

DAUs

23.1

27.6

23.9

24.7

25.2

23.9

27.7

MAUs

59.8

65.1

67.5

74.6

89.2

83.5

94.8

Including:

Online Literature

DAUs

0.3

0.3

2.0

4.8

7.3

8.1

10.0

MAUs

0.9

1.6

11.0

19.3

29.1

28.4

29.5

Results of Operations

The following table sets forth a summary of our consolidated statements of comprehensive loss, both in absolute amount and as a percentage of our net revenues, for the periods indicated. This information has been derived from and should be read together with our Unaudited Condensed Consolidated Financial Statements. The results of operations in any period are not necessarily indicative of the results that may be expected for any future period.

For the Nine Months Ended September 30,

2019

2020

    

US$

    

%

    

US$

    

%

  

Net revenues:

 

Advertising revenue

106,575,374  

97.9 

%  

337,037,822  

99.4 

%

Other revenue

2,324,105  

2.1 

%  

2,027,633  

0.6 

%

Total net revenues

108,899,479 

100.0 

%  

339,065,455 

100.0 

%

Cost of revenues(1)

(11,435,005)

(10.5)

%  

(17,056,483)

(5.0)

%

Gross profit

97,464,474 

89.5 

%  

322,008,972

95.0 

%

Operating expenses:

Sales and marketing expenses(1)

(93,533,363)

(85.9)

%  

(316,276,383)

(93.3)

%

Research and development expenses(1)

(21,197,631)

(19.5)

%  

(23,153,735)

(6.8)

%

General and administrative expenses(1)

(13,504,075)

(12.4)

%  

(11,144,938)

(3.3)

%

Other operating income (loss), net

228,302 

0.2 

%  

(227,540)

(0.1)

%

2


Total operating expenses

(128,006,767)

(117.6)

%  

(350,802,596)

(103.5)

%

Loss from operation

(30,542,293)

(28.1)

%  

(28,793,624)

(8.5)

%

Interest income, net

708,370 

0.7 

%  

227,348 

0.1 

%

Foreign exchange losses, net

(364,545)

(0.3)

%  

(13,505)

0.0 

%

Loss before income taxes

(30,198,468)

(27.7)

%  

(28,579,781)

(8.4)

%

Income tax expense

(1,714)

0.0 

%  

(3,200)

0.0 

%

Net loss

(30,200,182)

(27.7)

%  

(28,582,981)

(8.4)

%

Net loss per ordinary share:

Basic

(0.01)

(0.01)

Diluted

(0.01)

(0.01)

Weighted average shares used in calculating net loss per ordinary share:

Basic

3,163,501,054 

3,086,630,271 

Diluted

3,163,501,054 

3,086,630,271 


(1)

Share-based compensation was allocated in costs of revenues and operating expenses as follows.

For the Nine Months Ended September 30,

2019

2020

    

US$

    

US$

Cost of revenues

65,858

198,402 

 

Sales and marketing expense

151,444

168,727 

Research and development expenses

2,564,606

2,157,990 

General and administrative expenses

434,790

1,281,380 

Total

3,216,698

3,806,499 

Nine Months Ended September 30, 2019 Compared to Nine Months Ended September 30, 2020

Net Revenues. Our net revenues increased significantly from US$108.9 million in the nine months ended September 30, 2019 to US$339.1 million in the nine months ended September 30, 2020, primarily due to an increase in mobile advertising revenue.

·

Mobile Advertising Revenue. Our mobile advertising revenue increased significantly from US$106.6 million in the nine months ended September 30, 2019 to US$337.0 million in the nine months ended September 30, 2020. The increase was driven primarily by our strategic transition to the content-rich portfolio products offering and entertainment content ecosystem which have contributed to the increases in our user base and number of our portfolio products. Fengdu Novel, our key product in China, ranked third in terms of MAUs in free online literature market in China according to Quest Mobile, a professional business intelligence services provider in China’s mobile internet market. Our portfolio products contributed approximately 99% of our total net revenues in the nine months ended September 30, 2020,compared to approximately 77% in the nine months ended September 30, 2019. Among our portfolio products, online literature accounted for approximately 35% of our total net revenues in the nine months ended September 30, 2020, scenario-based content apps accounted for approximately 24%, and casual games accounted for approximately 40%.

·

Other Revenues. We generate other revenues through cloud call business, licensing of our TouchPal Smart Input and membership fee from the users. Our other revenues decreased by 12.8% from US$2.3 million in the nine months ended September 30, 2019 to US$2.0 million in the nine months ended September 30, 2020, primarily due to the decrease in cloud call business as a result of our shift in business focus to portfolio products.

Cost of Revenues. Our cost of revenues increased by 49.2% from US$11.4 million in the nine months ended September 30, 2019 to US$17.1 million in the nine months ended September 30, 2020,

3


primarily due to an increase in our content costs paid to freelancers and third-party content distributors and IT infrastructure, bandwidth and server costs and maintenance costs, all of which were generally in line with our continuous business growth, and partially offset by a decrease in VoIP-related expenses.

Gross Profit. As a result of the foregoing, our gross profit increased significantly from US$97.5 million in the nine months ended September 30, 2019 to US$322.0 million in the nine months ended September 30, 2020, primarily due to the rise in revenues.

Operating Expenses. Our total operating expenses increased significantly from US$128.0 million in the nine months ended September 30, 2019 to US$350.8 million in the nine months ended September 30, 2020.

·

Sales and marketing expenses. Our sales and marketing expenses increased significantly from US$93.5 million in the nine months ended September 30, 2019 to US$316.3 million in the nine months ended September 30, 2020, primarily due to increased investment in user acquisition in connection with our continuous efforts to grow the user base.

·

Research and development expenses. Our research and development expenses increased by 9.2% from US$21.2 million in the nine months ended September 30, 2019 to US$23.2 million in the nine months ended September 30, 2020, primarily due to an increase in costs associated with technology R&D staff and share-based compensation expenses which reflected our continuous efforts in improving our big data analytics and expand our product offerings.

·

General and administrative expenses. Our general and administrative expenses decreased by 17.5% from US$13.5 million in the nine months ended September 30, 2019 to US$11.1 million in the nine months ended September 30, 2020, primarily due to the decrease in bad debt provision.

·

Other operating income/ loss, net. We recorded other operating loss, net of US$0.2 million in the nine months ended September 30, 2020, which primarily consisted of government subsidies of US$1.7 million, compensation payment of US$1.6 million to victims of alleged misconducts of certain third-party advertisers perpetrated on our platform that we deposited to an escrow account controlled by a local authority conducting investigation on the advertisers and contingent liabilities for intellectual property infringement and unfair competition lawsuits during the ordinary course of business. We recorded other operating income, net of US$0.2 million in the nine months ended September 30, 2019, which, primarily consisted of government subsidies of US$0.3 million and contingent liabilities for intellectual property infringement lawsuit during the ordinary course of business.

Loss from operations. As a result of the foregoing, we recorded loss from operations of US$30.5 million and US$28.8 million in the nine months ended September 30, 2019 and 2020, respectively.

Interest income, net. We had interest income of US$0.7 million and US$0.2 million in the nine months ended September 30, 2019 and 2020, respectively. Interest income represents interest earned on our cash, cash equivalents and restricted cash, net of the interest expenses primarily related to our bank borrowings.

Foreign exchange losses, net. We incurred foreign exchange losses of US$0.4 million and US$13,505 in the nine months ended September 30, 2019 and 2020, respectively, which primarily represents costs incurred on foreign exchange conversion.

4


Income tax expense. We recorded income tax expense of US$1,714 and US$3,200 in the nine months ended September 30, 2019 and 2020, respectively.

Net loss. As a result of the foregoing, we recorded net loss of US$30.2 million and US$28.6 million in the nine months ended September 30, 2019 and 2020, respectively.

Liquidity and Capital Resources

Historically, we have financed our operations primarily through funding from private issuances of preferred shares, loans from commercial banks and our initial public offering. As of September 30, 2019 and 2020, we had US$56.3 million and US$61.0 million in cash, cash equivalents and restricted cash, respectively. Our cash and cash equivalents consist of cash on hand, demand deposits and floating rate financial instruments which are unrestricted as to withdrawal or use, and which have original maturities of three months or less when purchased. Our restricted cash represents amounts held in our bank account as guarantee deposit for payments processing services provided by the bank and amounts held in our bank accounts which were frozen by the PRC local authority in connection with an ongoing investigation of alleged misconducts of third-party advertisers conducted on our advertising platform. As of December 11, 2020, US$20.9 million out of total US$49.7 million bank balance was frozen and not available for use due to the ongoing investigation. We are still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation, the timing of which is out of our control.

We had net loss of US$30.2 million and negative cash flows from operations of US$18.9 million for the nine months ended September 30, 2019. We had net loss of US$28.6 million and positive cash flows from operations of US$6.0 million for the nine months ended September 30, 2020. We had positive working capital, which equals the result of current assets minus current liabilities, of US$41.3 million as of September 30, 2019 and negative working capital of US$3.4 million as of September 30, 2020.

The total outstanding balance of our short-term bank borrowings as of September 30, 2020 was US$14.8 million. We have entered into the following short-term loan transactions, and fully utilized the credit facilities as of September 30, 2020.

·

We entered into a credit facility agreement with a commercial bank initially in July 2016, which was renewed in October 2019 and further renewed in June 2020, under which agreement we can borrow up to US$11.0 million to be collateralized by our accounts receivable by June 2021. The loan contains maximum quarterly net loss as financial covenants which we failed to fulfill as of September 30, 2020. We are negotiating a waiver of the financial covenant with the bank.

·

We entered into a credit facility agreement with a commercial bank initially in July 2018, which was renewed in October 2019 and further renewed in June 2020, under which agreement we can borrow up to US$4.0 million to be collateralized by our accounts receivable by June 2021. The loan contains maximum quarterly net loss as financial covenants which we failed to fulfill as of September 30, 2020. We are negotiating a waiver of the financial covenant with the bank.

5


If we are not able to obtain the waiver, the short-term bank borrowings are subject to acceleration under the terms of the borrowing agreements.

While there can be no assurance that we will be able to refinance our short-term bank borrowings as they become due, we are negotiating for the waiver of the financial covenants with the bank, and historically, we have renewed or rolled over most of our short-term bank loans upon the maturity of such loans and believe we will continue to be able to do so. Meanwhile, we will seek additional credit facility with more financing banks. Additionally, we continue to monitor the daily expenditure regarding matters such as launching new products or upgrading existing products for experimental features, investing in R&D and IT infrastructure, spending in user acquisition and marketing expenses and determine the future business development plan when the necessary financial resources are available.

We believe that our current cash, cash equivalents and restricted cash, the available credit under our existing credit facilities, and our anticipated cash flows from operations will be sufficient to meet our anticipated working capital requirements and capital expenditures in the ordinary course of business for the next 12 months. We may, however, need additional capital for business expansion in the future.

As of September 30, 2020, 71% of our cash, cash equivalents and restricted cash were held in China, among which 60% were held by our VIEs and denominated in Renminbi. Most of the remaining cash and cash equivalents we held as of September 30, 2020 were held in Hong Kong and mainly denominated in Hong Kong dollars and U.S. dollars. Although we consolidate the results of our VIEs, we only have access to the assets or earnings of our VIEs through our contractual arrangements with our VIEs and their shareholders.

To utilize the proceeds we received from our initial and any subsequent public offerings, we may make additional capital contributions to our PRC subsidiary, establish new PRC subsidiaries and make capital contributions to these new PRC subsidiaries, or make loans to the PRC subsidiaries. However, most of these uses are subject to PRC regulations. Foreign direct investment and loans must be approved by and/or registered with SAFE and its local branches. The total amount of loans we can make to our PRC subsidiary cannot exceed statutory limits and must be registered with the local counterpart of SAFE. The statutory limit for the total amount of foreign debts of a foreign-invested company is the difference between the amount of total investment as approved by the Ministry of Commerce or its local counterpart and the amount of registered capital of such foreign-invested company.

A portion of our future revenues are likely to continue to be in the form of Renminbi. Under existing PRC foreign exchange regulations, Renminbi may be converted into foreign exchange for current account items, including profit distributions, interest payments and trade-and service-related foreign exchange transactions without prior SAFE approval by following certain routine procedural requirements. However, current PRC regulations permit our PRC subsidiary to pay dividends to us only out of its accumulated profits, if any, determined in accordance with Chinese accounting standards and regulations. Our PRC subsidiary is required to set aside at least 10% of its after-tax profits after making up previous years’ accumulated losses each year, if any, to fund certain reserve funds until the total amount set aside reaches 50% of its registered capital. These reserves are not distributable as cash dividends.

The following table sets forth a summary of our cash flows for the periods indicated.

For the Nine Months Ended September 30,

    

2019

    

2020

US$

US$

Net cash (used in)/ provided by operating activities

(18,899,694)

5,969,252 

 

Net cash used in investing activities

(4,097,269)

(2,362,367)

Net cash used in financing activities

(5,232,595)

(2,937,138)

Net increase/ (decrease) in cash, cash equivalents, and restricted cash

(28,229,558)

669,747 

Cash, cash equivalents, and restricted cash at the beginning of the period

84,859,915 

59,966,031 

Effect of exchange rate changes on cash, cash equivalents, and restricted cash

(360,608)

375,805 

Cash, cash equivalents, and restricted cash at the end of the period

56,269,749 

61,011,583 

Operating Activities

Net cash provided by operating activities in the nine months ended September 30, 2020 was US$6.0 million, as compared to net loss of US$28.6 million in the same period. The difference was primarily due to the increase of US$26.9 million in accounts payable during the nine months ended September 30, 2020, driven primarily by the increase of our

6


user acquisition costs. The principal non-cash items affecting the difference between our net loss and our net cash provided by operating activities primarily consisted of (1) US$3.8 million in share-based compensation expenses, (2) US$2.7 million in depreciation expenses, and (3) US$0.3 million in provision for allowance of doubtful accounts.

Net cash used in operating activities in the nine months ended September 30, 2019 was US$18.9 million, as compared to net loss of US$30.2 million in the same period. The difference was primarily due to the non-cash items, which primarily consisted of (1) US$4.7 million in provision for allowance of doubtful accounts, (2) US$3.2 million in share-based compensation expenses, and (3) US$2.1 million in depreciation expenses.

Investing Activities

Net cash used in investing activities in the nine months ended September 30, 2020 was US$2.4 million, primarily due to purchase of property, plant and equipment of US$2.2 million and purchases of long-term investments of US$0.1 million.

Net cash used in investing activities in the nine months ended September 30, 2019 was US$4.1 million, primarily due to purchase of property, plant and equipment of US$4.1 million.

Financing Activities

Net cash used in financing activities in the nine months ended September 30, 2020 was US$2.9 million, primarily due to payment of share repurchase of US$8.1 million and partially offset by the aggregate effect of proceeds from and repayment of bank borrowings of US$5.7 million.

Net cash used in financing activities in the nine months ended September 30, 2019 was US$5.2 million, primarily due to payment of share repurchase of US$9.7 million, and payment of issuance costs for the initial public offering of US$0.8 million and partially offset by proceeds from bank borrowings of US$5.0 million.

Capital Expenditures

We made capital expenditures of US$2.2 million and US$4.1 million in the nine months ended September 30, 2019 and 2020, respectively. In these periods, our capital expenditures were mainly used for purchases equipment, including servers and other IT equipment. We plan to continue to make capital expenditures to meet the needs that result from the expected growth of our business.

Off-balance Sheet Arrangements

We have not entered into any financial guarantees or other commitments to guarantee the payment obligations of any third parties. We have not entered into any derivative contracts that are indexed to our

7


shares and classified as shareholder’s equity or that are not reflected in our consolidated financial statements. Furthermore, we do not have any retained or contingent interest in assets transferred to an unconsolidated entity that serves as credit, liquidity or market risk support to such entity. We do not have any variable interest in any unconsolidated entity that provides financing, liquidity, market risk or credit support to us or engages in leasing, hedging or product development services with us.

Cautionary Statement Regarding Forward Looking Statements

We have made statements in this report that constitute forward-looking statements. Forward-looking statements involve risks and uncertainties, such as statements about our plans, objectives, expectations, assumptions or future events. In some cases, you can identify forward-looking statements by terminology such as “anticipate,” “estimate,” “plan,” “project,” “continuing,” “ongoing,” “expect,” “we believe,” “we intend,” “may,” “should,” “could” and similar expressions. These statements involve estimates, assumptions, known and unknown risks, uncertainties and other factors that could cause actual results to differ materially from any future results, performances or achievements expressed or implied by the forward-looking statements.

Examples of forward-looking statements include:

·

our mission and strategies;

·

our future business development, financial conditions and results of operations;

·

the expected growth of the mobile internet industry and mobile advertising industry;

·

the expected growth of mobile advertising;

·

our expectations regarding demand for and market acceptance of our products and services;

·

competition in our industry; and

·

relevant government policies and regulations relating to our industry.

The ultimate correctness of these forward-looking statements depends upon a number of known and unknown risks and events. Many factors could cause our actual results to differ materially from those expressed or implied in our forward-looking statements. Consequently, you should not place undue reliance on these forward-looking statements.

The forward-looking statements speak only as of the date on which they are made, and, except as required by law; we undertake no obligation to update any forward-looking statement to reflect events or circumstances after the date on which the statement is made or to reflect the occurrence of unanticipated events.

In addition, we cannot assess the impact of each factor on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those contained in any forward-looking statements.

Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of the date hereof. We undertake no obligation to update this forward-looking information. Nonetheless, we reserve the right to make such updates from time to time by press release, periodic report or other method of public disclosure without the need for specific reference to this Report. No such update shall be deemed to indicate that other statements not addressed by such update remain correct or create an obligation to provide any other updates.

8


EX-99.3 4 ctk-20201231xex99d3.htm EXHIBIT 99.3

Exhibit 99.3

Risk Factors

This section includes material updates in certain risks relating to us since the date of our Annual Report, any of which we believe could materially and adversely affect our business, financial condition and results of operations. This section is a supplement to and should be read in conjunction with the section titled “Risk Factors” included in the Annual Report.

We have incurred net loss and negative cash flows from operating activities in the past, and we may not achieve or sustain profitability.

We recorded net loss of US$30.2 million and negative cash flows from operations of US$18.9 million for the nine months ended September 30, 2019. We recorded net loss of US$28.6 million and positive cash flows from operations of US$6.0 million for the nine months ended September 30, 2020. We cannot assure you that we will be able to generate net profit or positive cash flows from operating activities in the future. Our future revenue growth and profitability will depend on a variety of factors, many of which are beyond our control. These factors include market acceptance of our products, effectiveness of our monetization strategy, our ability to control cost and expenses and to manage our growth effectively, market competition, macroeconomic and regulatory environment. We also expect our cost and expenses to increase in the future as we continue to expand our operations and to increase our investments in research and development, which will place significant demands on our management and our operational and financial resources. Continuous expansion may increase the complexity of our business, and we may encounter various difficulties. We may fail to develop and improve our operational, financial and managerial controls, enhance our financial reporting systems and procedures, recruit, train and retain skilled professional personnel, or maintain customer satisfaction to effectively support and manage our growth. If we invest substantial time and resources to expand our operations but fail to manage the growth of our business and capitalize on our growth opportunities effectively, we may not be able to achieve profitability, and our business, financial condition, results of operations and prospects would be materially and adversely affected.

We are out of compliance with certain financial covenants in our credit facility agreements. If we fail to receive any required waiver, we may be in default, which could impose operating and financial restrictions on us.

We entered into two credit facility agreements with a commercial bank, both of which were further renewed in June 2020, under which we can borrow up to a total of US$15.0 million collateralized by our accounts receivable by June 2021. See “—Liquidity and Capital Resources.” In the nine months ended September 30, 2020, we had in the aggregate drawn down US$15.1 million and repaid US$9.5 million under these two credit facilities. The total outstanding balance of our short-term bank borrowings as of September 30, 2020 was US$14.8 million. These credit facility agreements contain financial covenants which require us to maintain a minimum net profit of US$1.00 on a consolidated basis in the three months ended September 30, 2020. We failed to meet such financial covenants as of September 30, 2020 and are negotiating a waiver of such financial covenants with the counterparty, which, if granted, will waive the financial covenants for such period.

We cannot assure you that we would be able to obtain such waivers in a timely manner, on acceptable terms or at all. If we were not able to obtain such waiver under any one or more of these credit facilities, we would be in default of such agreements, and the relevant counterparty could elect to declare the loans, together with accrued and unpaid interest and other fees, if any, immediately due and payable and proceed against any collateral securing such loans. If the loans under certain of our credit facility agreements that we entered into were to be accelerated, even though we believe that our assets would be sufficient to repay our loans in full, our business and liquidity could nevertheless be subject to adverse effects. In addition, such waiver, even if granted, may lead to increased costs, increased interest rates, additional restrictive covenants and other available counterparty protections that would be applicable to us under these credit facilities, including the granting of additional security our interests in collateral, which could adversely affect our business, financial condition, results of operations and our ability to acquire additional capital resources.

Our ability to comply with financial or other restrictive covenants under our credit facility agreements may be affected by factors beyond our control, including prevailing economic, financial and industry conditions, and our ability to issue additional equity. We may continue to fall out of compliance with such or other covenants in the future, which could materially and adversely affect our business, financial condition and results of operations.


Non-compliance on the part of third parties with whom we conduct business could disrupt our business and adversely affect our financial conditions and operating results.

We may be implicated by the non-compliant or improper activities of our users, advertising customers and business partners. For example, we may be involved in litigation related to user-generated content uploaded to our mobile applications. Similarly, we may also be subject to disputes related to advertisements displayed on our mobile applications. Although we have adopted a comprehensive internal control and screening procedure over the content of advertisements, a third party may find advertisements displaying on our mobile applications improper or illegal, and may take actions against us over such advertisements. As of December 11, 2020, bank accounts with a total balance of US$20.9 million were frozen by a local authority in connection with an ongoing investigation of alleged illegal advertisements posted by certain third-party advertisers on our platform. To facilitate the investigation, bank accounts through which our transactions with such advertisers took place were frozen by the local authority. In addition, we incurred costs of US$1.6 million to compensate victims of the alleged illegal advertisements for our failure to supervise advertising contents displayed on our platform in compliance with relevant PRC laws and regulations.

In addition, we may be impacted by lawsuits against our business partners, such as mobile devices manufacturers that have contractual arrangements with us. Although we have no control over the design, system, network or standard of the manufacturing of smartphones by these business partners, any lawsuits against them claiming infringement of intellectual property and any cessation of handset production resulting from such lawsuits may interrupt our collaborative operations and result in the reduction of our delivery of products and services to potential users.


EX-99.4 5 ctk-20201231xex99d4.htm EXHIBIT 99.4

Exhibit 99.4

CooTek Announces Third Quarter 2020 Unaudited Results

SHANGHAI, China, December 15, 2020 – CooTek (Cayman) Inc. (NYSE: CTK) ("CooTek" or the "Company"), a fast-growing global mobile internet company, today reported unaudited financial results for the third quarter ended September 30, 2020.

Third Quarter 2020 Highlights

Net revenue was US$105.7 million, an increase of 238% from US$31.3 million during the same period last year.
Gross profit was US$98.9 million, an increase of 261% from US$27.4 million during the same period last year.
Gross profit margin was 93.6%, an increase of 6% year-over-year.
Net loss was US$22.0 million, compared with net loss of US$16.2 million during the same period last year.
Adjusted net loss1 (Non-GAAP) was US$20.5 million, compared with adjusted net loss (Non-GAAP) of US$15.4 million during the same period last year.
The Company’s Portfolio Products2 contributed approximately 99% of total revenues, with a focus on three main categories: online literature, scenario-based content apps, and casual games.

September 2020 Operational Highlights

Average daily active users (“DAUs”) of the Company’s Portfolio Products were 27.7 million, an increase of 16% from 23.9 million in September 2019. Monthly active users (“MAUs”) of the Company’s Portfolio Products were 94.8 million, an increase of 40% from 67.5 million in September 2019.
Average DAUs of the Company’s online literature products were 10.0 million, increased significantly from 2.0 million in September 2019. MAUs of the Company’s online literature products were 29.5 million, increased significantly from 11.0 million in September 2019. The average daily reading time3 of the key product Fengdu Novel users further increased to 130 minutes in September 2020 from 110 minutes in June 2020.
Average DAUs of the Company’s TouchPal Smart Input were 130.0 million. MAUs of the Company’s TouchPal Smart Input were 169.4 million.

“I am pleased to report a resilient third quarter with revenue of US$105.7 million compared to US$31.3 million a year ago,” commented Mr. Karl Zhang, CooTek’s Chairman. “Driven by the strategic enhancement of our content ecosystem, we further upgraded and strengthened our core products aiming at delivering the sustainable business growth. We reinforced the market position of Fengdu Novel which ranked 3rd in terms of MAUs in free online literature market in China4 with continuous growth in our user base. With its DAUs exceeding 10 million during the third quarter of 2020, Fengdu Novel constituted the core component of our content-rich portfolio with a strong emphasis on balancing its user expansion and user retention. We have been rapidly developing its customized content production model which contribute to its competitive user stickiness. Going forward, we will strive to further expand our content ecosystem by leveraging the core strength of Fengdu Novel and the growth synergy that we can achieve among the three main business segments of content-rich mobile apps.”

Mr. Robert Cui, CooTek’s CFO further commented, “Despite the growth pressure in global mobile internet advertising market, we still increased our revenue by 238% during the third quarter of 2020 compared to the same period in 2019. More importantly, we have witnessed solid growth in our online literature business in terms of its user base and revenue since the first quarter of 2019. We will continue to invest in the content and user expansion of Fengdu Novel by maintaining a reasonable return on investment level. We are convinced that our development strategy will result in building up a synergetic and diversified content ecosystem.”

(in millions)

Portfolio Products

Portfolio Products

Including: Online literature

    

DAUs

    

MAUs

    

DAUs

    

MAUs

Sep' 18

11.0

33.7

-

-

 

Dec' 18

16.9

46.1

-

-

Mar' 19

23.1

59.8

0.3

0.9

Jun' 19

27.6

65.1

0.3

1.6

Sep' 19

23.9

67.5

2.0

11.0

Dec' 19

24.7

74.6

4.8

19.3

Mar' 20

25.2

89.2

7.3

29.1

Jun' 20

23.9

83.5

8.1

28.4

Sep' 20

27.7

94.8

10.0

29.5

1           “Adjusted net income (loss)” (Non-GAAP) is a non-GAAP measure, which is defined as net income (loss) excluding share-based compensation. For further information, please see “Non-GAAP Financial Measures” and “Reconciliations of GAAP and non-GAAP results” at the bottom of this release.

2           “Portfolio Products” is to the mobile applications that we develop and provide to our users and business partners, which exclude TouchPal Smart Input and TouchPal Phonebook.

3           “Average daily reading time” for any day is calculated by dividing (i) the sum of time spent on reading books on our Fengdu Novel for such day, by (ii) the number of Fengdu Novel users who spent time on reading books for such day. The average daily reading time for any month is calculated by dividing (i) the sum of average daily reading time for each day in such month, by (ii) the number of days in such month.

4           According to Quest Mobile, a professional business intelligence services provider in China’s mobile internet market.

1 / 9


Third Quarter 2020 Financial Results

Net Revenues

(in US$ thousands, except percentage)

    

3Q 2020

    

2Q 2020

    

3Q 2019

    

QoQ % Change

    

YoY % Change

 

Mobile Advertising Revenue

104,842

125,774

30,548

(17)

%  

243

%

Other Revenue

815

622

722

31

%  

13

%

Total Net Revenues

105,657

126,396

31,270

(16)

%  

238

%

Net revenues were US$105.7 million, an increase of 238% from US$31.3 million during the third quarter of 2019 and a decrease of 16% from US$126.4 million in the previous quarter. The fluctuation was primarily due to changes in our mobile advertising revenue.

Mobile advertising revenue was US$104.8 million, an increase of 243% from US$30.5 million during the third quarter of 2019 mainly due to increase in our user base and number of portfolio products, and a decrease of 17% from US$125.8 million in the previous quarter mainly due to restructuring of our portfolio products.

Our portfolio products focus on three categories: online literature, scenario-based content apps and casual games. Online literature accounted for approximately 34%, scenario-based content apps accounted for approximately 24%, and casual games accounted for approximately 41% of total net revenue.

Cost and Operating Expenses

3Q 2020

2Q 2020

3Q 2019

QoQ %

YoY %

(in US$ thousands, except percentage)

    

US$

    

% of revenue

    

US$

    

% of revenue

    

US$

    

% of revenue

    

Change

    

Change

Cost of revenues

6,784

6

%  

5,691

5

%  

3,912

13

%  

19

%  

73

%

Sales and marketing

107,842

102

%  

105,999

84

%  

33,463

107

%  

2

%  

222

%

Research and development

8,204

8

%  

8,103

6

%  

6,933

22

%  

1

%  

18

%

General and administrative

3,707

4

%  

4,136

3

%  

3,387

11

%  

(10)

%  

9

%

Other operating loss (income), net

1,064

1

%  

(446)

(0)

%  

(58)

0

%  

(339)

%  

(1934)

%

Total Cost and Expenses

127,601

121

%  

123,483

98

%  

47,637

153

%  

3

%  

168

%

Share-based compensation expenses by function

Cost of revenues

75

0.1

%  

71

0.1

%  

25

0.1

%  

6

%  

200

%

Sales and marketing

59

0.1

%  

61

0.0

%  

32

0.1

%  

(3)

%  

84

%

Research and development

815

0.8

%  

862

0.7

%  

700

2.2

%  

(5)

%  

16

%

General and administrative

492

0.5

%  

430

0.3

%  

129

0.4

%  

14

%  

281

%

Total share-based compensation expenses

1,441

1.5

%  

1,424

1.1

%  

886

2.8

%  

1

%  

63

%

Cost of revenues was US$6.8 million, an increase of 73% from US$3.9 million during the same period last year, and an increase of 19% from US$5.7 million in the previous quarter. The year-over-year increase was mainly due to an increase in content costs paid to freelancers and third-party content distributors. The sequential increase was mainly due to the investment in operational workforce and maintenance-related expenses.

Gross profit was US$98.9 million, an increase of 261% from US$27.4 million during the same period last year, and a decrease of 18% from US$120.7 million in the previous quarter. Gross profit margin was 93.6%, compared with 87.5% in the same period last year and 95.5% in the previous quarter.

Sales and marketing expenses were US$107.8 million, an increase of 222% from US$33.5 million during the same period last year, and an increase of 2% from US$106.0 million in the previous quarter. As a percentage of total revenue, sales and marketing expenses accounted for 102%, compared with 107% during the same period last year, and 84% in the previous quarter. The sequential and year-over-year increases in sales and marketing expenses were primarily due to increased investment in user acquisition.

Research and development expenses were US$8.2 million, an increase of 18% from US$6.9 million during the same period last year and an increase of 1% from US$8.1 million in the previous quarter. The year-over-year increase was primarily due to an increase in costs associated with technology R&D staff. As a percentage of total net revenue, research and development expenses accounted for 8%, compared with 22% during the same period last year and 6% in the previous quarter.

General and administrative expenses were US$3.7 million, an increase of 9% from US$3.4 million during the same period last year and a decrease of 10% from US$4.1 million in the previous quarter. The year-over-year increase was mainly due to an increase in costs associated with G&A staff and share-based compensation expenses. The sequential decrease was mainly due to the reversal of accrued provision for bad debts on the collection of accounts receivables. As a percentage of total net revenue, general and administrative expenses accounted for 4%, compared with 11% during the same period last year and 3% in the previous quarter.

Other operating loss, net was US$1.1 million, compared with other operating income, net US$0.06 million during the same period last year and other operating income, net US$0.4 million in the previous quarter. The other operating loss during this quarter mainly relates to compensation payment to victims of alleged misconducts of certain third-party advertisers perpetrated on the Company's platform that the Company deposited to an escrow account controlled by a local authority conducting investigation on the advertisers.

2 / 9


Net loss was US$22.0 million, compared with net loss of US$16.2 million during the same period last year and a net income of US$3.1 million in the previous quarter.

Adjusted net loss was US$20.5 million, compared with adjusted net loss of US$15.4 million in the same period last year and adjusted net income of US$4.5 million in the previous quarter.

In US$ thousands, except percentage

    

3Q 2020

    

2Q 2020

    

3Q 2019

    

QoQ % Change

    

YoY % Change

 

Net income (loss)

(21,964)

3,119

(16,246)

(804)

%  

35

%

Add: Share-based Compensation related to share options and restricted share units

1,441

1,424

886

1

%  

63

%

Adjusted Net Income (Loss) (Non-GAAP)

(20,523)

4,543

(15,360)

(552)

%  

34

%

Basic and diluted net loss per ADS were US$0.36 and US$0.36, and basic and diluted Adjusted net loss (Non-GAAP) per ADS were US$0.33 and US$0.33.

Balance Sheet and Cash Flows

As of September 30, 2020, cash, cash equivalents and restricted cash were US$61.0 million, compared with US$64.9 million as of June 30, 2020. As of September 30, 2020, current portion of restricted cash were US$0.06 million, representing amounts held in Company's bank account as guarantee deposit for payments processing services provided by the bank. Amount of US$2.4 million, held in Company's bank accounts were frozen by the PRC local authority in connection with its investigation of alleged misconducts of certain third-party advertisers perpetrated on the Company's platform. In October 2020, an additional US$18.4 million was deposited into these frozen bank accounts. The Company is still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation, the timing of which is out of the Company's control. In the interim, the Company cannot dispose of cash and cash equivalents in the frozen bank accounts.

Net cash outflow from operating activities during the third quarter of 2020 was US$14.4 million, compared with net cash outflow from operating activities of US$6.7 million for the same period in 2019 and net cash inflow from operating activities of US$5.4 million during the previous quarter. Cash outflow from operating activities during the third quarter of 2020 was mainly due to loss from operations.

Share Repurchase Plan

On May 18, 2020, the Company announced a share repurchase program (the “2020 Program”) whereby the Company is authorized to repurchase its class A ordinary shares in the form of ADSs with an aggregate value of up to US$20 million during the 12-month period starting from May 18, 2020. The Company expects to fund the repurchases under this program with its existing cash balance. As of September 30, 2020, the Company had used an aggregate of US$3.3 million to repurchase 0.5 million ADSs under the 2020 Program and recorded as treasury stock.

Business Outlook

For the fourth quarter of 2020, the Company expects total revenue to be approximately US$106 million, representing a year-over-year increase of approximately 54%. For the fiscal year of 2020, the Company expects total revenue to be approximately US$445 million, representing a year-over-year increase of approximately 150%. This outlook is based on information available as of the date of this press release and reflects the Company’s current and preliminary expectations, which are subject to change in light of various uncertainties, including those related to the ongoing COVID-19 pandemic.

Conference Call and Webcast

The Company management team will host a conference call at 8:00 AM U.S. Eastern Time on December 15, 2020 (9:00 PM Beijing Time on the same day), following the results announcement.

The dial-in details for the live conference call are:

United States: 1-888-346-8982

Hong Kong: 800-905-945

Mainland China: 4001-201-203

International: 1-412-902-4272

Please dial in 15 minutes before the call is scheduled to begin. When prompted, ask to be connected to the CooTek (Cayman) Inc. call.

A live webcast and archive of the conference call will be available on the Investor Relations section of the Company’s website at https://ir.cootek.com/.

3 / 9


About CooTek (Cayman) Inc.

CooTek is a fast-growing mobile internet company with a global vision, that offers content-rich mobile applications, focusing on three categories: online literature, scenario-based content apps and casual games. CooTek’s mission is to empower everyone to enjoy relevant content seamlessly. CooTek’s user-centric and data-driven approach has enabled it to release appealing products to capture mobile internet users' ever-evolving content needs and helps it rapidly attract targeted users.

Non-GAAP Financial Measure

To supplement the unaudited consolidated financial information prepared in accordance with generally accepted accounting principles in the United States of America (“GAAP”), the Company uses non-GAAP financial measure of adjusted net (loss) income that is adjusted from results based on GAAP to exclude the impact of share-based compensation, and Adjusted EBITDA that is net (loss) income excluding interest income and expense, income taxes, depreciation and amortization, and share-based compensation. The measure should be considered in addition to results prepared in accordance with GAAP, but should not be considered a substitute for, or superior to, GAAP results.

The Company believes that the non-GAAP measure help identify underlying financial and business trends relating to the Company’s results of operations that could otherwise be distorted by the effect of certain expenses that the Company include in (loss) income from operations and net (loss) income. By making the Company’s financial results comparable period over period, the Company believes adjusted net (loss) income and Adjusted EBITDA provides useful information to better understand the Company’s historical business operations and future prospects and allows for greater visibility with respect to key metrics used by the management in financial and operational decision-making. In order to mitigate these limitations, the Company has provided specific information regarding the GAAP amounts excluded from the non-GAAP measure. The table at the bottom of this press release includes details on the reconciliation between GAAP financial measure that is most directly comparable to the non-GAAP financial measure the Company has presented.

Safe Harbor Statement

This press release contains forward-looking statements made under the "safe harbor" provisions of Section 21E of the Securities Exchange Act of 1934, as amended, and the U.S. Private Securities Litigation Reform Act of 1995. These forward-looking statements can be identified by terminology such as "will," "expects," "anticipates," "future," "intends," "plans," "believes," "estimates," "confident" and similar statements. CooTek may also make written or oral forward-looking statements in its reports filed with or furnished to the U.S. Securities and Exchange Commission, in its annual report to shareholders, in press releases and other written materials and in oral statements made by its officers, directors or employees to third parties. Any statements that are not historical facts, including statements about CooTek's beliefs and expectations, are forward-looking statements that involve factors, risks and uncertainties that could cause actual results to differ materially from those in the forward-looking statements. Such factors and risks include, but not limited to the following: CooTek’s mission and strategies; future business development, financial conditions and results of operations; the expected growth of the mobile internet industry and mobile advertising industry; the expected growth of mobile advertising; expectations regarding demand for and market acceptance of our products and services; competition in mobile application and advertising industry; relevant government policies and regulations relating to the industry and the development and impacts of COVID-19. Further information regarding these and other risks, uncertainties or factors is included in CooTek’s filings with the U.S. Securities and Exchange Commission. All information provided in this press release is current as of the date of the press release, and CooTek does not undertake any obligation to update such information, except as required under applicable law.

For investor enquiries, please contact:

CooTek (Cayman) Inc.

Mr. Robert Yi Cui

Email: IR@cootek.com

ICA (Institutional Capital Advisory)

Mr. Kevin Yang

Phone: +86-021-8028-6033

E-mail: cootek@icaasia.com

4 / 9


CooTek (Cayman) INC.

Unaudited Condensed Consolidated Statement of Operations

(in thousands, except for share and per share data)

Three Months Ended

Nine Months Ended

September 30,

June 30,

September 30,

September 30,

2019

2020

2020

2019

2020

    

US$

    

US$

    

US$

    

US$

    

US$

Net revenues

31,270

126,396

105,657

108,900

339,066

 

Cost of revenues

(3,912)

(5,691)

(6,784)

(11,435)

(17,057)

Gross Profit

27,358

120,705

98,873

97,465

322,009

Operating expenses:

Sales and marketing expenses

(33,463)

(105,999)

(107,842)

(93,534)

(316,277)

Research and development expenses

(6,933)

(8,103)

(8,204)

(21,198)

(23,154)

General and administrative expenses

(3,387)

(4,136)

(3,707)

(13,504)

(11,144)

Other operating income, net

58

446

(1,064)

229

(228)

Total operating expenses

(43,725)

(117,792)

(120,817)

(128,007)

(350,803)

(Loss) income from operations

(16,367)

2,913

(21,944)

(30,542)

(28,794)

Interest income, net

118

211

(7)

709

227

Foreign exchange gain (loss)

3

(2)

(13)

(365)

(13)

(Loss) income before income taxes

(16,246)

3,122

(21,964)

(30,198)

(28,580)

Income tax expense

(3)

(2)

(3)

Net (loss) income

(16,246)

3,119

(21,964)

(30,200)

(28,583)

Net (loss) income per ordinary share

Basic

(0.005)

0.001

(0.007)

(0.01)

(0.01)

Diluted

(0.005)

0.001

(0.007)

(0.01)

(0.01)

Weighted average shares used in calculating net (loss) income per ordinary share

Basic

3,148,392,266

3,084,894,043

3,070,510,051

3,163,501,054

3,086,630,271

Diluted

3,148,392,266

3,222,716,303

3,070,510,051

3,163,501,054

3,086,630,271

Non-GAAP Financial Data

Adjusted Net (Loss) income

(15,360)

4,543

(20,523)

(26,983)

(24,777)

Adjusted EBITDA

(14,469)

5,123

(19,318)

(25,594)

(22,263)

5 / 9


Unaudited Condensed Consolidated Balance Sheets

(in thousands, except for share and per share data)

As of

June 30,

September 30,

2020

2020

    

US$

    

US$

ASSETS

 

Current assets:

Cash and cash equivalents

64,861

58,478

Restricted cash

60

60

Short-term investment

13,550

550

Accounts receivable, net of allowance for doubtful accounts of $2,262 as of June 30, 2020 and $1,962 as of September 30, 2020, respectively

34,043

29,083

Prepaid expenses and other current assets

9,900

10,764

Total current assets

122,414

98,935

Long-term restricted cash

2,473

Long-term investments

141

147

Property and equipment, net

5,544

5,597

Intangible assets, net

352

420

Other non-current assets

787

757

TOTAL ASSETS

129,238

108,329

LIABILITIES AND SHAREHOLDERS' EQUITY

Current liabilities

Accounts payable

64,408

64,805

Short-term bank borrowings

14,686

14,822

Accrued salary and benefits

6,618

7,748

Accrued expenses and other current liabilities

8,433

10,215

Deferred revenue

6,160

4,697

Total current liabilities

100,305

102,287

Other non-current liabilities

562

494

TOTAL LIABILITIES

100,867

102,781

6 / 9


Unaudited Condensed Consolidated Balance Sheets (continued):

(in thousands, except for share and per share data)

As of

 

    

June 30, 
2020

    

September 30,
 2020

US$

US$

Shareholders’ Equity:

Ordinary shares

31 

31 

Treasury Stock

(6,935)

(3,323)

Additional paid-in capital

196,750 

192,376 

Accumulated deficit

(160,217)

(182,181)

Accumulated other comprehensive loss

(1,258)

(1,355)

Total Shareholders' Equity

28,371 

5,548 

TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY

129,238 

108,329 

7 / 9


Unaudited Condensed Consolidated Statement of Cash Flows

 (in thousands, except for share and per share data)

Three Months Ended

Nine Months Ended

 

September 30,

June 30,

September 30,

September 30,

    

2019

    

2020

    

2020

    

2019

    

2020

US$

US$

US$

US$

US$

Net cash (used in) provided by operating activities

(6,689)

5,402 

(14,393)

(18,899)

5,969 

Net cash (used in) provided by investing activities

(775)

(13,859)

12,266 

(4,097)

(2,362)

Net cash provided by (used in) financing activities

1,494 

3,100 

(2,183)

(5,233)

(2,937)

Net (decrease) increase in cash and cash equivalents

(5,970)

(5,357)

(4,310)

(28,229)

670 

Cash, cash equivalents, and restricted cash at beginning of period

62,774 

70,026 

64,921 

84,860 

59,966 

Effect of exchange rate changes on cash and cash equivalents

(534)

252 

400 

(361)

375 

Cash, cash equivalents, and restricted cash at end of period

56,270 

64,921 

61,011 

56,270 

61,011 

8 / 9


Reconciliations of GAAP and Non-GAAP Results

(in thousands, except for share and per share data)

Three Months Ended

Nine Months Ended

 

September 30,

June 30,

September 30,

September 30,

    

2019

    

2020

    

2020

    

2019

    

2020

US$

US$

US$

US$

US$

Net (loss) income

(16,246)

3,119 

(21,964)

(30,200)

(28,583)

Add:

Share-based compensation related to share options and restricted share units

886 

1,424 

1,441 

3,217 

3,806 

Adjusted Net (Loss) Income (Non-GAAP)*

(15,360)

4,543 

(20,523)

(26,983)

(24,777)

Add:

Interest income, net

(118)

(211)

(709)

(227)

Income taxes

— 

— 

Depreciation and amortization

1,009 

788 

1,198 

2,096 

2,738 

Adjusted EBITDA (Non-GAAP)*

(14,469)

5,123 

(19,318)

(25,594)

(22,263)

* The tax impact to the non-GAAP adjustments is zero.

9 / 9


EX-101.SCH 6 ctk-20201231.xsd XBRL TAXONOMY EXTENSION SCHEMA 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Consolidated financial statement balances and amounts of the Group's VIEs (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Accounts Receivable, net (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Prepaid Expenses and Other Current Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00205 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Organization and Principal Activities (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Cash, Cash Equivalents and Restricted Cash (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - Summary of Significant Accounting Policies - Concentration and risks (Details) link:presentationLink link:calculationLink link:definitionLink 40208 - Disclosure - Summary of Significant Accounting Policies - Foreign Currency Risk (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Short-term Bank Borrowings (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Income Taxes Expense - Current and deferred portion of income tax expenses (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Income Taxes Expense (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Treasury Shares (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Share-Based Compensation - Share options (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Share-Based Compensation - Assumptions to estimate the fair value of the options (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Share-Based Compensation - Summary of aggregate option activity (Details) link:presentationLink link:calculationLink link:definitionLink 41104 - Disclosure - Share-Based Compensation - RSU Activity (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Net Loss Per Share - Computation of basic and diluted net loss per share (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - Net Loss Per Share - Shares outstanding were excluded from the calculation of diluted net loss per ordinary share (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Subsequent Event (Details) link:presentationLink link:calculationLink link:definitionLink 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Organization and Principal Activities link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Accounts Receivable, net link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Prepaid Expenses and Other Current Assets link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Property and Equipment, net link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Short-term Bank Borrowings link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Accrued Expenses and Other Current Liabilities link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Other Operating Income (Loss), net link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Income Taxes Expense link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Treasury Shares link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Share-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Net Loss Per Share link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Subsequent Event link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Accounts Receivable, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Prepaid Expenses and Other Current Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Property and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Short-term bank borrowings (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Income Taxes Expense (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Share-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Net Loss Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - Segment Information (Tables) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of Significant Accounting Policies - Sales and Marketing Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 40209 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Other Operating Income (Loss), net (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 ctk-20201231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 8 ctk-20201231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 9 ctk-20201231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE EX-101.PRE 10 ctk-20201231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 11 ctk-20201231x6k_htm.xml IDEA: XBRL DOCUMENT 0001734262 2020-01-01 2020-09-30 0001734262 us-gaap:CommonClassAMember 2020-05-18 0001734262 ctk:AmericanDepositorySharesMember 2020-05-18 0001734262 us-gaap:SubsequentEventMember 2020-12-31 0001734262 ctk:RepurchasePlanMember 2020-01-01 2020-09-30 0001734262 us-gaap:TreasuryStockMember 2020-01-01 2020-09-30 0001734262 us-gaap:TreasuryStockMember 2019-01-01 2019-09-30 0001734262 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2020-01-01 2020-09-30 0001734262 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2019-01-01 2019-09-30 0001734262 us-gaap:CommonStockMember us-gaap:IPOMember 2018-10-02 2018-10-02 0001734262 ctk:AmericanDepositarySharesMember us-gaap:IPOMember 2018-10-02 2018-10-02 0001734262 us-gaap:RetainedEarningsMember 2020-09-30 0001734262 us-gaap:AdditionalPaidInCapitalMember 2020-09-30 0001734262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-09-30 0001734262 us-gaap:RetainedEarningsMember 2019-12-31 0001734262 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001734262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001734262 us-gaap:RetainedEarningsMember 2019-09-30 0001734262 us-gaap:AdditionalPaidInCapitalMember 2019-09-30 0001734262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-09-30 0001734262 us-gaap:RetainedEarningsMember 2018-12-31 0001734262 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001734262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001734262 2020-10-01 2021-12-31 0001734262 2018-11-06 2018-11-06 0001734262 ctk:ShareBasedPaymentArrangementOptionMember 2019-12-31 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2019-12-31 0001734262 us-gaap:ProductAndServiceOtherMember 2020-01-01 2020-09-30 0001734262 us-gaap:AdvertisingMember 2020-01-01 2020-09-30 0001734262 ctk:CountriesOtherThanUsaAndChinaMember 2020-01-01 2020-09-30 0001734262 country:US 2020-01-01 2020-09-30 0001734262 country:CN 2020-01-01 2020-09-30 0001734262 us-gaap:ProductAndServiceOtherMember 2019-01-01 2019-09-30 0001734262 us-gaap:AdvertisingMember 2019-01-01 2019-09-30 0001734262 ctk:CountriesOtherThanUsaAndChinaMember 2019-01-01 2019-09-30 0001734262 country:US 2019-01-01 2019-09-30 0001734262 country:CN 2019-01-01 2019-09-30 0001734262 ctk:CreditFacility2018Member 2020-01-01 2020-09-30 0001734262 us-gaap:VehiclesMember 2020-09-30 0001734262 us-gaap:OfficeEquipmentMember 2020-09-30 0001734262 us-gaap:LeaseholdImprovementsMember 2020-09-30 0001734262 ctk:ElectronicEquipmentMember 2020-09-30 0001734262 us-gaap:VehiclesMember 2019-12-31 0001734262 us-gaap:OfficeEquipmentMember 2019-12-31 0001734262 us-gaap:LeaseholdImprovementsMember 2019-12-31 0001734262 us-gaap:ConstructionInProgressMember 2019-12-31 0001734262 ctk:ElectronicEquipmentMember 2019-12-31 0001734262 ctk:LineOfCredit2016Member 2019-01-01 2019-12-31 0001734262 ctk:CreditFacility2018Member 2019-01-01 2019-12-31 0001734262 2018-10-02 2018-10-02 0001734262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-09-30 0001734262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-09-30 0001734262 country:US 2020-09-30 0001734262 country:CN 2020-09-30 0001734262 country:US 2019-12-31 0001734262 country:CN 2019-12-31 0001734262 us-gaap:RetainedEarningsMember 2020-01-01 2020-09-30 0001734262 us-gaap:RetainedEarningsMember 2019-01-01 2019-09-30 0001734262 ctk:ShanghaiHanXiangCootekInformationTechnologyCo.LtdMember ctk:ThreeInvestorsMember 2010-10-31 0001734262 ctk:CreditFacility2018Member 2020-09-30 0001734262 ctk:LineOfCredit2016Member 2020-06-30 0001734262 ctk:LineOfCredit2016Member 2019-10-31 0001734262 ctk:CreditFacility2018Member 2019-10-31 0001734262 ctk:CreditFacility2018Member 2018-07-31 0001734262 ctk:CreditFacility2018Member 2018-06-30 0001734262 ctk:LineOfCredit2016Member 2016-07-31 0001734262 us-gaap:SubsequentEventMember 2020-10-01 2020-10-31 0001734262 ctk:ShareBasedPaymentArrangementOptionMember 2020-09-30 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2020-09-30 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2020-06-30 0001734262 ctk:AmericanDepositorySharesMember 2020-01-01 2020-09-30 0001734262 ctk:AmericanDepositorySharesMember 2019-01-01 2019-09-30 0001734262 ctk:LineOfCredit2016Member 2020-01-01 2020-09-30 0001734262 ctk:LineOfCredit2016Member ctk:PrevailingBaseLendingRateOfPeoplesBankOfChinaSixMonthsMember 2019-10-01 2019-10-31 0001734262 ctk:CreditFacility2018Member ctk:PrevailingBaseLendingRateOfPeoplesBankOfChinaSixMonthsMember 2019-10-01 2019-10-31 0001734262 us-gaap:AccountsPayableMember ctk:VendorConcentrationRiskMember ctk:CompanyJMember 2020-01-01 2020-09-30 0001734262 us-gaap:SellingAndMarketingExpenseMember ctk:VendorConcentrationRiskMember ctk:CompanyIMember 2020-01-01 2020-09-30 0001734262 us-gaap:AccountsPayableMember ctk:VendorConcentrationRiskMember ctk:CompanyHMember 2020-01-01 2020-09-30 0001734262 ctk:CompanyFMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001734262 ctk:CompanyEMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001734262 ctk:CompanyEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001734262 ctk:CompanyMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 us-gaap:SellingAndMarketingExpenseMember ctk:VendorConcentrationRiskMember ctk:CompanyHMember 2019-01-01 2019-09-30 0001734262 us-gaap:SellingAndMarketingExpenseMember ctk:VendorConcentrationRiskMember ctk:CompanyGMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyDMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyCMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyBMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001734262 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2020-09-30 0001734262 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2020-09-30 0001734262 us-gaap:TreasuryStockMember 2020-09-30 0001734262 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2019-12-31 0001734262 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2019-12-31 0001734262 us-gaap:TreasuryStockMember 2019-12-31 0001734262 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2019-09-30 0001734262 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2019-09-30 0001734262 us-gaap:TreasuryStockMember 2019-09-30 0001734262 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2018-12-31 0001734262 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2018-12-31 0001734262 us-gaap:TreasuryStockMember 2018-12-31 0001734262 us-gaap:CommonClassBMember 2020-09-30 0001734262 us-gaap:CommonClassBMember 2019-12-31 0001734262 us-gaap:CommonClassAMember 2019-12-31 0001734262 currency:CNY 2020-09-30 0001734262 currency:CNY 2019-12-31 0001734262 2019-09-30 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-09-30 0001734262 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-09-30 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-09-30 0001734262 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-09-30 0001734262 2018-12-31 0001734262 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-09-30 0001734262 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-09-30 0001734262 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-09-30 0001734262 us-gaap:CostOfSalesMember 2020-01-01 2020-09-30 0001734262 us-gaap:SellingAndMarketingExpenseMember 2019-01-01 2019-09-30 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-09-30 0001734262 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-09-30 0001734262 us-gaap:GeneralAndAdministrativeExpenseMember 2019-01-01 2019-09-30 0001734262 us-gaap:CostOfSalesMember 2019-01-01 2019-09-30 0001734262 ctk:ShareBasedPaymentArrangementOptionMember 2019-01-01 2019-09-30 0001734262 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-09-30 0001734262 ctk:CompanyFMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-09-30 0001734262 ctk:CompanyEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-09-30 0001734262 ctk:CompanyDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-09-30 0001734262 ctk:CompanyCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-09-30 0001734262 ctk:CompanyBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-09-30 0001734262 us-gaap:AccountsPayableMember ctk:VendorConcentrationRiskMember ctk:CompanyJMember 2020-09-30 0001734262 us-gaap:AccountsPayableMember ctk:VendorConcentrationRiskMember ctk:CompanyHMember 2020-09-30 0001734262 us-gaap:CommonClassAMember 2020-09-30 0001734262 us-gaap:CommonClassAMember 2019-09-30 0001734262 ctk:ShareBasedPaymentArrangementOptionMember 2020-01-01 2020-09-30 0001734262 ctk:ShareBasedPaymentArrangementOptionMember 2019-01-01 2019-12-31 0001734262 ctk:ShareBasedPaymentArrangementOptionMember ctk:OptionPlan2012Member 2020-01-01 2020-09-30 0001734262 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-09-30 0001734262 srt:MinimumMember ctk:ShareBasedPaymentArrangementOptionMember ctk:OptionPlan2012Member 2020-01-01 2020-09-30 0001734262 srt:MaximumMember ctk:ShareBasedPaymentArrangementOptionMember ctk:OptionPlan2012Member 2020-01-01 2020-09-30 0001734262 us-gaap:VariableInterestEntityPrimaryBeneficiaryMember 2020-01-01 2020-09-30 0001734262 us-gaap:VariableInterestEntityPrimaryBeneficiaryMember 2019-01-01 2019-09-30 0001734262 ctk:ShanghaiHanXiangCootekInformationTechnologyCo.LtdMember 2010-10-31 0001734262 2019-01-01 2019-09-30 0001734262 2019-01-01 2019-12-31 0001734262 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-09-30 0001734262 us-gaap:VariableInterestEntityPrimaryBeneficiaryMember 2020-09-30 0001734262 2020-09-30 0001734262 us-gaap:VariableInterestEntityPrimaryBeneficiaryMember 2019-12-31 0001734262 2019-12-31 iso4217:USD ctk:item pure iso4217:USD shares shares iso4217:CNY ctk:segment CooTek(Cayman)Inc. 6-K 6-K false 2020-09-30 2020 Q3 0001734262 --12-31 246224465 246224465 0 1600000 59905827 58478376 60204 60209 571508 550025 1774192 1961728 27254634 29083216 7847794 10764181 95639967 98936007 2472998 5669849 5597148 267736 419343 146841 259108 756507 101836660 108328844 37877800 64805107 9012645 14822161 5598425 7747460 5955956 10215400 3887908 4697267 62332734 102287395 595563 493467 62928297 102780862 0.00001 0.00001 13750000000 13750000000 2880056332 2844418332 2870119332 2818991432 28800 28444 0.00001 0.00001 250000000 250000000 246224465 246224465 2462 2462 9937000 25426900 1063547 3322668 194971827 192375859 -153598346 -182181327 -1432833 -1354788 38908363 5547982 101836660 108328844 108899479 339065455 65858 198402 11435005 17056483 97464474 322008972 434790 1281380 13504075 11144938 2564606 2157990 21197631 23153735 151444 168727 93533363 316276383 228302 -227540 128006767 350802596 -30542293 -28793624 708370 227348 -364545 -13505 -30198468 -28579781 1714 3200 -30200182 -28582981 -0.01 -0.01 -0.01 -0.01 50 50 -0.48 -0.46 -0.48 -0.46 3163501054 3086630271 3163501054 3086630271 -30200182 -28582981 0 0 -220513 78045 -30420695 -28504936 2949757236 29498 246224465 2462 15550500 -2499167 204701187 -116752285 -1158900 84322795 -30200182 -30200182 -220513 -220513 3216698 3216698 -56461100 9741378 9741378 32268350 323 32268350 -5737950 5737627 8330150 84 277838 277922 9397592 95 -95 2935216628 29354 246224465 2462 39743250 -6502595 202458001 -146952467 -1379413 47655342 2880056332 28800 246224465 2462 9937000 -1063547 194971827 -153598346 -1432833 38908363 -28582981 -28582981 78045 78045 3806499 3806499 -64770700 8130513 8130513 823226 823226 49280800 492 49280800 -5871392 5870900 9415600 94 291701 291795 4227200 42 -42 2844418332 28444 246224465 2462 25426900 -3322668 192375859 -182181327 -1354788 5547982 -30200182 -28582981 2096190 2738487 4665322 322361 3216698 3806499 -91 -15124 370877 1404021 1612532 3421313 -238762 506082 3146856 24826554 -544028 1578215 507323 4592654 242373 2105852 -285690 -102097 -18899694 5969252 4097269 2237794 13000000 13022268 146841 -4097269 -2362367 5040813 15240004 9515198 277922 291795 823226 809952 9741378 8130513 -5232595 -2937138 -28229558 669747 84859915 59966031 -360608 375805 56269749 61011583 1714 3200 42691 417882 54814 224410 56269749 58478376 2533207 56269749 61011583 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">1. Organization and Principal Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">CooTek (Cayman) Inc. (the "Company") was incorporated in the Cayman Islands on March 5, 2012. The Company, its subsidiaries, its consolidated Variable Interest Entities ("VIEs") and VIEs’ subsidiaries (collectively referred to as the "Group") are a fast-growing mobile internet company with a global vision, offering mobile applications including a portfolio of content-rich mobile applications.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">History of the Group and reorganization</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group’s history began in August 2008 with the commencement of operations of Shanghai Han Xiang (CooTek) Information Technology Co., Ltd ("Han Xiang"), a limited liability company incorporated in the People’s Republic of China ("PRC") by certain individuals. In October 2010, three outside investors acquired an aggregate of 24.24% equity interest of Han Xiang. In 2012, Han Xiang and its shareholders undertook a reorganization which was conducted to establish a Cayman holding company for the existing business to obtain investment from outside investors and in preparation of an overseas initial public offering. The Group has recognized the net assets of Han Xiang on a historical cost with no change in basis in the consolidated financial statements upon the completion of the reorganization. The shareholders’ rights and obligations remained the same after the reorganization.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">On October 2, 2018 the Group completed its initial public offering ("IPO") and issued 4,350,000 American depositary shares representing 217,500,000 of the Group’s ordinary shares. Net proceeds from the IPO after deducting underwriting discount and offering costs were US$45.1 million.</p> 3 0.2424 4350000 217500000 45100000 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">2. Summary of Significant Accounting Policies</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(a)   Basis of Presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America ("U.S. GAAP") and applicable rules and regulations of the Securities and Exchange Commission ("SEC"), regarding interim financial reporting, and include all normal and recurring adjustments that management of the Group considers necessary for a fair presentation of its financial position and operating results. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. Accordingly, these financial statements should be read in conjunction with the Group’s annual consolidated financial statements and notes thereto, included in the Company’s 2019 Annual Report on Form 20-F filed with the SEC on April 20, 2020, referred to as the Company’s 2019 Annual Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(b)   Principles of Consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The consolidated financial statements include the financial information of the Company, its wholly owned subsidiaries, its consolidated VIEs and VIEs’ subsidiaries. All intercompany balances and transactions have been eliminated upon consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Applicable PRC laws and regulations currently limit foreign ownership of companies that provide internet content distribution services and any other restrictions. The Company is deemed a foreign legal person under PRC laws and accordingly subsidiaries owned by the Company are not eligible to engage in provisions of internet content or online services. The Group therefore conducts its online business through the following major consolidated VIEs:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Shanghai Chu Bao (CooTek) Information Technology Co., Ltd. ("Chu Bao")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Yingsun Information Technology (Ningbo) Co., Ltd. ("Yingsun")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Shanghai Qiaohan Technology Co., Ltd. ("Qiaohan")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Molihong (Shenzhen) Internet Technology Co., Ltd. ("Molihong")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Shanghai Dengyong Information Technology Co., Ltd. ("Dengyong")</span></td></tr></table><div style="margin-top:10pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt;"><span style="font-style:italic;">(b)   Principles of Consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following consolidated financial statement balances and amounts of the Group’s VIEs were included in the accompanying unaudited condensed consolidated financial statements after the elimination of intercompany balances and transactions among the Company, its subsidiaries and its VIEs.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,714,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,294,883</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 203</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 209</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,502</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,582,641</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,473,397</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expense and other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,643,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,569,904</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long term restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,472,998</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,841</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,231</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,131</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,009,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,030,614</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;"> LIABILITIES</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,002,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,304,063</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term bank borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408,264</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,697</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued salary and benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604,020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued expenses and other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,385,303</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,696,308</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,658,808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,928,241</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;">Total Liabilities</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,730,293</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,789,329</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,276,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 299,205,121</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,841,315)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (94,447)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,823,768)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 150,325</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash (used in) provide by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,560,184)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,000,288</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash used in investing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (201,320)</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (179,412)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The VIEs’ assets are comprised of recognized and unrecognized revenue-producing assets. The recognized revenue producing assets mainly include purchased servers and software, which are presented in the account of "Property and equipment, net" and "Intangible assets, net". The unrecognized revenue-producing assets mainly consist of the Internet Content Provider license ("ICP" license), trademarks, copyrights and registered patents, which are not recognized in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Revenues of VIEs included in the consolidated financial statements mainly include revenue of advertising services. The VIEs contributed 35% and 88% of the Group’s consolidated net revenues for the nine months ended September 30, 2019 and 2020, respectively. As of December 31, 2019 and September 30, 2020, the VIEs accounted for an aggregate of 38% and 54% respectively, of the consolidated total assets, and 65% and 62% respectively, of the consolidated total liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt;"><span style="font-style:italic;">(b)   Principles of Consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">There are no terms in any arrangements, considering both explicit arrangements and implicit variable interests that require the Company or its subsidiaries to provide financial support to the VIEs. However, if the VIEs were ever to need financial support, the Group may, at its option and subject to statutory limits and restrictions, provide financial support to its VIE through loans to the shareholders of the VIEs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group believes that there are no assets held in the VIEs that can be used only to settle obligations of the VIEs, except for registered capital and the PRC statutory reserves. As the VIEs are incorporated as limited liability companies under the PRC Company Law, creditors of the VIEs do not have recourse to the general credit of the Company for any of the liabilities of the VIEs. Relevant PRC laws and regulations restrict the VIEs from transferring a portion of their net assets, equivalent to the balance of its statutory reserve and its share capital, to the Company in the form of loans and advances or cash dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(c)   Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and reported amounts of revenues and expenses during the reporting period. Actual results may differ from these estimates. The Group bases its estimates on historical experience and various other factors believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Significant accounting estimates reflected in the Group's financial statements including but not limited to allowance for doubtful accounts, valuation allowances of deferred tax assets, and valuation of share-based compensation. Actual results may differ materially from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">d)   Fair Value</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Fair value reflects the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Group considers the principal or most advantageous market in which it would transact and considers assumptions that market participants would use when pricing the assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group applies a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. This guidance specifies a hierarchy of valuation techniques, which is based on whether the inputs into the valuation technique are observable or unobservable. The hierarchy is as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Level 1— Valuation techniques in which all significant inputs are unadjusted quoted prices from active markets for assets or liabilities that are identical to the assets or liabilities being measured.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Level 2— Valuation techniques in which significant inputs include quoted prices from active markets for assets or liabilities that are similar to the assets or liabilities being measured and/or quoted prices for assets or liabilities that are identical or similar to the assets or liabilities being measured from markets that are not active. Also, model-derived valuations in which all significant inputs and significant value drivers are observable in active markets are Level 2 valuation techniques.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Level 3— Valuation techniques in which one or more significant inputs or significant value drivers are unobservable. Unobservable inputs are valuation technique inputs that reflect the Group’s own assumptions about the assumptions that market participants would use in pricing an asset or liability.</span></td></tr></table><div style="margin-top:10pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">The fair value guidance describes three main approaches to measure the fair value of assets and liabilities: (1) market approach; (2) income approach and (3) cost approach. The market approach uses prices and other relevant information generated from market transactions involving identical or comparable assets or liabilities. The income approach uses valuation techniques to convert future amounts to a single present value amount. The measurement is based on the value indicated by current market expectations about those future amounts. The cost approach is based on the amount that would currently be required to replace an asset.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">d)   Fair Value </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">When available, the Group uses quoted market prices to determine the fair value of an asset or liability. If quoted market prices are not available, the Group will measure fair value using valuation techniques that use, when possible, current market-based or independently sourced market parameters, such as interest rates and currency rates. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Beginning January 1, 2019, the Group’s equity investments without readily determinable fair values, which do not qualify for NAV practical expedient and over which the Group does not have the ability to exercise significant influence through the investments in common stock or in substance common stock, are accounted for under the measurement alternative upon the adoption of Accounting Standards Update ("ASU") 2016-01 <i style="font-style:italic;">Recognition and Measurement of Financial Assets and Liabilities</i> (the "Measurement Alternative"). Under the Measurement Alternative, the carrying value is measured at cost, less any impairment, plus and minus changes resulting from observable price changes in orderly transactions for identical or similar investments. After management’s assessment of each of the long-term investments, management concluded that investments do not have readily determinable fair values, and elects the measurement alternative.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Financial instruments not reported at fair value include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, other current liabilities and short-term bank borrowings. The carrying amounts of these financial instruments as of December 31, 2019 and September 30, 2020 were considered representative of their fair values due to their short-term nature.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(e)   Foreign Currency Translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The functional currency of the Group is the United States Dollar ("US$"). The functional currency of the subsidiaries and the VIEs in the PRC is Renminbi ("RMB"). The functional currency of all the other subsidiaries is US$.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Foreign currency transactions have been translated into the functional currency at the exchange rates prevailing on the date of transactions. Foreign currency denominated monetary assets and liabilities are re-measured into the functional currency at exchange rates prevailing on the balance sheet date. Exchange gains and losses have been included in the determination of net income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group has chosen the US$ as its reporting currency. Assets and liabilities have been translated using exchange rates prevailing on the balance sheet date. Equity accounts are translated at historical exchange rates. Income statement items have been translated using the average exchange rate for the year. Translation adjustments have been reported as cumulative translation adjustments and are shown as a component of other comprehensive income/loss in the consolidated statements of comprehensive (loss) income and consolidated statements of changes in shareholders’ equity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(f)   Cash, Cash Equivalents and Restricted Cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Cash and cash equivalents consist of cash on hand, demand deposits and floating rate financial instruments which are unrestricted as to withdrawal or use, and which have original maturities of three months or less when purchased.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Group's current-portion restrict cash represents amounts held in Group's bank account as guarantee deposit for payments processing services provided by the bank. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain bank accounts were frozen by the PRC local authority in connection with an ongoing investigation of alleged misconducts of third-party advertisers perpetrated on the Group's advertising platform. As of September 30, 2020, cash held in these frozen bank accounts amounted to US$2,472,998. These funds are presented as long-term restricted cash on the consolidated balance sheet as of September 30, 2020 as the Group cannot control the timing of its release. In October 2020, an additional US$18.4 million was deposited into these frozen bank accounts. The Group is still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation.<span style="font-style:italic;font-weight:bold;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)   Short-term Investments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Short-term investments primarily comprises of the time deposits with banks maturities between three months and one year. The Group states the short-term investments at amortized cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">2. Summary of Significant Accounting Policies (Continued)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(h)   Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Mobile Advertising</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group generates substantially all of its revenue through mobile advertising. As of January 1, 2019, the Group adopted ASU 2014-09 Revenue from Contracts with Customers - Topic 606 and all subsequent ASUs that modified ASC 606. The Group has elected to apply the ASU and all related ASUs under the modified retrospective method to all contracts that were not completed as of January 1, 2019. Results for reporting periods beginning after January 1, 2019 are presented under Topic 606, while prior period amounts are not adjusted and continue to be reported under the accounting standards in effect for the prior period. The Group did not note any effects of applying the new revenue standard as an adjustment to the opening balance of retained earnings at the beginning of 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In order to achieve that core principle, the Company applies the following five-step approach: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when a performance obligation is satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group provides advertising services to customers for promotion of their brands and products through its mobile applications, including a portfolio of content-rich mobile applications. The Group has two general pricing models for its advertising products: cost over a time period and cost for performance basis including per impression basis. For advertising contracts over a time period, the Group generally recognizes revenue ratably over time, because the customer simultaneously receives and consumes the benefits as the Group performs throughout a fixed contract term. For contracts that are charged on the cost for performance basis, the Group charges an agreed-upon fee to its customers determined based on the effectiveness of advertising links, which is typically measured by clicks, transactions, installations, user registrations, and other actions originating from the Group’s mobile applications. Revenue is recognized at a point in time when there is an effective click, transaction, installations, user registrations, and other actions originating from the Group’s mobile applications. For contracts that are charged on the cost per impression basis, the Group recognizes the revenue at a point in time when the impressions are delivered. Revenue for performance-based advertising services is recognized at a point in time when all the revenue recognition criteria are met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group launched in-house developed advertising platform, CooTek Ads, to provide tailored advertising services from late 2019. Customers engaged through CooTek Ads are required to pay a deposit before using Group's services. The deposits received are recorded as deferred revenue on the consolidated balance sheets. The amounts due to the Group are deducted from the deposited amounts when performance criteria have been satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Others</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group also generates other revenues through cloud call business, licensing of its Smart Inputs products and membership fee from the users. The revenue is recognized when service is rendered.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">(h) Revenue Recognition (Continued)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Sales Incentives</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group provides sales incentives to certain customers on the CooTek Ads in the form of sales rebates which entitle them to receive reductions in the price by meeting certain cumulative consumption requirement or replenishing required amount of deposit. The Group accounts for these incentives granted to customers as variable consideration and records it as reduction of revenue. The amount of variable consideration is measured based on the most likely amount of incentives to be. For the nine months ended September 30, 2019 and 2020, the rebates recorded by the Group were nil and US$48,491,685, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Disaggregation of Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In the following table, revenue is disaggregated by revenue streams and geographic location of customers’ headquarters.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertising revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,575,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 337,037,822</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other revenue </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,324,105</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,027,633</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,899,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,065,455</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,314,113</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,161,631</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,423,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 325,246,386</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161,587</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,657,438</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,899,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,065,455</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Contract Balances</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable represent amounts invoiced, and revenue recognized prior to invoicing when the Group has satisfied its performance obligations and has the unconditional right to payment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h) Revenue Recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Contract liabilities include payments received in advance of performance under the contract or for differences between the amount billed to a customer and the revenue recognized for the completed performance obligation which is presented as deferred revenue on the consolidated balance sheets. Due to the generally short-term duration of the Group’s contracts, the majority of the performance obligations are satisfied in one year. The movements of the Group’s accounts receivable and deferred revenue are as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Deferred Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Opening Balance at January 1, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,373,969</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,361</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Decrease) Increase, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,966,005)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,404</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending Balance at September 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,407,964</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 583,765</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Opening Balance at January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,254,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,887,908</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,828,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 809,359</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending Balance at September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,083,216</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,697,267</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group recognized revenue of US$263,383 and US$3,637,328 by the reducing the balance of deferred revenue in the nine months ended September 30, 2019 and 2020, respectively, which were included in the balance of deferred revenue at the beginning of the each period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(</span><span style="font-style:italic;">i)   Sales and Marketing Expenses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Sales and marketing expenses primarily consist of advertising expenses, salaries and benefits of sales and marketing personnel and fees paid to mobile device manufacturers to pre-install the Group’s Smart Input products. Advertising expenses represent payment to the third parties for online user acquisition of the Group’s products via social media and demand-side platforms. Advertising expenses are expensed as sales and marketing expenses when the services are received. Such expenses amounted to US$86,189,395 and US$310,602,100 for the nine months ended September 30, 2019 and 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(j)   Concentration and Risks</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Financial instruments that potentially expose the Group to concentration of credit risk consist primarily of cash and cash equivalents, short-term investments, accounts receivable and prepayments. The Group places its cash and cash equivalents and short-term investments with financial institutions with high-credit ratings and quality. The Group conducts credit evaluations of customers, and generally does not require collateral or other security from its customers. The Group 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 prepayments, the Group performs on-going credit evaluations of the financial condition of these suppliers and has noted no significant credit risk.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)   Concentration and Risks </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Concentration of Customers</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following customers accounted for 10% or more of revenue:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:50.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,335,698</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,731,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company C</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,088,217</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,873,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company E</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 91,588,390</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following customers accounted for 10% or more of accounts receivable:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company B</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,944,840</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,142,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,840,005</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,354,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company F</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,824,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Concentration of Vendors</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:50.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company G</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,080,305</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company H</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,853,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company I</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,804,056</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following vendors accounted for 10% or more of accounts payable:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company H</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,433,642</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company J</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,378,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:9.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;">Less than 10%.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)   Concentration and Risks </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Business and Economic Risks</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group participates in the dynamic and competitive high technology industry and believes that changes in any of the following areas could have a material adverse effect on the Group's future financial position, results of operations and cash flows: changes in the overall demand for services and products; competitive pressures due to existing and new entrants; advances and new trends in new technologies and industry standards; changes in certain strategic relationships or customer relationships; regulatory considerations; copyright regulations; brand maintenance and enhancement; and risks associated with the Company's ability to attract and retain employees necessary to support its growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group's operations could be adversely affected by significant political, economic and social uncertainties in the PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Foreign Currency Risk</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The RMB is not a freely convertible currency. The State Administration for Foreign Exchange in the PRC, under the authority of the Peoples Bank of China, controls the conversion of RMB into other currencies. The value of the RMB is subject to changes in central government policies, international economic and political developments affecting supply and demand in the China Foreign Exchange Trading System market. The Group's cash and cash equivalents and restricted cash denominated in RMB amounted to RMB139,905,845 (amounted to US$20,054,735) and RMB292,519,950 (amounted to US$42,953,841) as of December 31, 2019 and September 30, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)  Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">New accounting pronouncements recently adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In August 2018, the FASB issued ASU 2018-13, <i style="font-style:italic;">Fair Value Measurement (Topic 820): Disclosure Framework - Changes to the Disclosure Requirements for Fair Value Measurement</i>, which changes certain disclosure requirements, including those related to Level 3 fair value measurements. The provisions of ASU 2018-13 relating to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements, and the narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. The remaining provisions should be applied retrospectively to all periods presented upon their effective date. The Group has adopted this ASU on January 1, 2020, which did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt;">In October 2018, the FASB issued ASU 2018-17, <i style="font-style:italic;">Consolidation (Topic 810)</i>: Targeted Improvements to Related Party Guidance for Variable Interest Entities. Under the new guidance, to determine whether decision-making fees represent a variable interest, an entity considers indirect interests held through related parties under common control on a proportionate basis, rather than in their entirety. ASU 2018-17 is effective for annual periods beginning after December 15, 2019, including interim periods within those fiscal years, and early adoption is permitted in any interim period. ASU 2018-17 is required to be applied retrospectively from the date the guidance is first applied. The Group has early adopted this ASU on January 1, 2020 and did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)  Recent Accounting Pronouncements</span><span style="font-size:10pt;font-style:italic;font-weight:bold;"> </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">New accounting pronouncements not yet adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In February 2016, the FASB issued ASU 2016-02, <i style="font-style:italic;">Leases (Topic 842),</i> which requires lessees to recognize leases on balance sheet and disclose key information about lease arrangements. The new standard establishes a right-of-use ("ROU") model that requires a lessee to recognize a ROU asset and lease liability on the balance sheet for all leases with terms of longer than 12 months. Leases will be classified as finance or operating, with classification affecting the pattern and classification of expense recognition in the income statement. The standard is effective on January 1, 2019, with early adoption permitted, for public business entity ("PBE"). And it is effective on January 1, 2020 for non-issuers and PBEs that meet the definition of a PBE solely because their financial statements or financial information is included in a filing with the SEC. In July 2018, the FASB issued an update that provided an additional transition option that allows companies to continue applying the guidance under the lease standard in effect at that time in the comparative periods presented in the consolidated financial statements. Companies that elect this option would record a cumulative-effect adjustment to the opening balance of retained earnings on the date of adoption. In November 19, 2019, the FASB issued ASU 2019-10 to amend the effective date for ASU 2016-02 to be January 1, 2021 for non-issuers. The Group as an EGC has elected to adopt the new lease standard as of the effective date applicable to nonissuers and will implement the new lease standard on January 1, 2021 using the modified retrospective method. The modified retrospective approach would not require any transition accounting for leases that expired before the earliest comparative period presented. In addition, the Group will elect the transition practical referred to as the "package of three", 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. The Group is in the process of evaluating the impact on its consolidated financial statements, as well as the impact of adoption on policies, practices, systems and financial statement disclosures. As of September 30, 2020, the Group has US$2.9 million of future minimum operating lease commitments that are not currently recognized on its consolidated balance sheets (see note 13).</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Credit Losses, Measurement of Credit Losses on Financial Instruments</i>. This ASU provides more useful information about expected credit losses to financial statement users and changes how entities will measure credit losses on financial instruments and timing of when such losses should be recognized. This ASU is effective for annual and interim periods beginning after December 15, 2019 for the public business entities. Early adoption is permitted for all entities for annual periods beginning after December 15, 2018, and interim periods therein. In November 2019, the FASB issued ASU No. 2019-10 which delayed the effective date of ASU 2016-13 for smaller reporting companies (as defined by the U.S. Securities and Exchange Commission) and other non-SEC reporting entities to fiscal years beginning after December 15, 2022, including interim periods within those fiscal periods. Early adoption is permitted. The Company is currently assessing the impact the guidance will have on its consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(a)   Basis of Presentation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America ("U.S. GAAP") and applicable rules and regulations of the Securities and Exchange Commission ("SEC"), regarding interim financial reporting, and include all normal and recurring adjustments that management of the Group considers necessary for a fair presentation of its financial position and operating results. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. Accordingly, these financial statements should be read in conjunction with the Group’s annual consolidated financial statements and notes thereto, included in the Company’s 2019 Annual Report on Form 20-F filed with the SEC on April 20, 2020, referred to as the Company’s 2019 Annual Report.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(b)   Principles of Consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The consolidated financial statements include the financial information of the Company, its wholly owned subsidiaries, its consolidated VIEs and VIEs’ subsidiaries. All intercompany balances and transactions have been eliminated upon consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Applicable PRC laws and regulations currently limit foreign ownership of companies that provide internet content distribution services and any other restrictions. The Company is deemed a foreign legal person under PRC laws and accordingly subsidiaries owned by the Company are not eligible to engage in provisions of internet content or online services. The Group therefore conducts its online business through the following major consolidated VIEs:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Shanghai Chu Bao (CooTek) Information Technology Co., Ltd. ("Chu Bao")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Yingsun Information Technology (Ningbo) Co., Ltd. ("Yingsun")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Shanghai Qiaohan Technology Co., Ltd. ("Qiaohan")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Molihong (Shenzhen) Internet Technology Co., Ltd. ("Molihong")</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Shanghai Dengyong Information Technology Co., Ltd. ("Dengyong")</span></td></tr></table><div style="margin-top:10pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt;"><span style="font-style:italic;">(b)   Principles of Consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following consolidated financial statement balances and amounts of the Group’s VIEs were included in the accompanying unaudited condensed consolidated financial statements after the elimination of intercompany balances and transactions among the Company, its subsidiaries and its VIEs.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,714,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,294,883</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 203</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 209</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,502</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,582,641</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,473,397</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expense and other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,643,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,569,904</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long term restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,472,998</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,841</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,231</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,131</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,009,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,030,614</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;"> LIABILITIES</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,002,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,304,063</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term bank borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408,264</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,697</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued salary and benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604,020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued expenses and other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,385,303</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,696,308</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,658,808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,928,241</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;">Total Liabilities</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,730,293</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,789,329</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,276,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 299,205,121</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,841,315)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (94,447)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,823,768)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 150,325</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash (used in) provide by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,560,184)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,000,288</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash used in investing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (201,320)</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (179,412)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The VIEs’ assets are comprised of recognized and unrecognized revenue-producing assets. The recognized revenue producing assets mainly include purchased servers and software, which are presented in the account of "Property and equipment, net" and "Intangible assets, net". The unrecognized revenue-producing assets mainly consist of the Internet Content Provider license ("ICP" license), trademarks, copyrights and registered patents, which are not recognized in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Revenues of VIEs included in the consolidated financial statements mainly include revenue of advertising services. The VIEs contributed 35% and 88% of the Group’s consolidated net revenues for the nine months ended September 30, 2019 and 2020, respectively. As of December 31, 2019 and September 30, 2020, the VIEs accounted for an aggregate of 38% and 54% respectively, of the consolidated total assets, and 65% and 62% respectively, of the consolidated total liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt;"><span style="font-style:italic;">(b)   Principles of Consolidation (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">There are no terms in any arrangements, considering both explicit arrangements and implicit variable interests that require the Company or its subsidiaries to provide financial support to the VIEs. However, if the VIEs were ever to need financial support, the Group may, at its option and subject to statutory limits and restrictions, provide financial support to its VIE through loans to the shareholders of the VIEs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group believes that there are no assets held in the VIEs that can be used only to settle obligations of the VIEs, except for registered capital and the PRC statutory reserves. As the VIEs are incorporated as limited liability companies under the PRC Company Law, creditors of the VIEs do not have recourse to the general credit of the Company for any of the liabilities of the VIEs. Relevant PRC laws and regulations restrict the VIEs from transferring a portion of their net assets, equivalent to the balance of its statutory reserve and its share capital, to the Company in the form of loans and advances or cash dividends.</p> <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,714,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,294,883</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 203</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 209</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,502</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,582,641</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,473,397</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expense and other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,643,649</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,569,904</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long term restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,472,998</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term investments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,841</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Property and equipment, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,231</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other non-current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,131</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,009,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,030,614</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;"> LIABILITIES</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,002,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,304,063</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term bank borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408,264</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 256,697</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued salary and benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 275,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604,020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accrued expenses and other current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,385,303</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,696,308</p></td></tr><tr><td style="vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,658,808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,928,241</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><b style="font-weight:bold;">Total Liabilities</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.14%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,730,293</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,789,329</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,276,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 299,205,121</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Loss from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,841,315)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (94,447)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,823,768)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 150,325</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash (used in) provide by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,560,184)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,000,288</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash used in investing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (201,320)</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (179,412)</p></td></tr></table> 13714304 23294883 203 209 21502 21582641 23473397 3643649 8569904 2472998 146841 496 9231 47122 61020 2131 39009917 58030614 35002827 57304063 408264 256697 275091 604020 1385303 3696308 3658808 1928241 40730293 63789329 38276479 299205121 -18841315 -94447 -18823768 150325 -6560184 18000288 -201320 44315 -179412 0.35 0.88 0.38 0.54 0.65 0.62 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(c)   Use of Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and reported amounts of revenues and expenses during the reporting period. Actual results may differ from these estimates. The Group bases its estimates on historical experience and various other factors believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Significant accounting estimates reflected in the Group's financial statements including but not limited to allowance for doubtful accounts, valuation allowances of deferred tax assets, and valuation of share-based compensation. Actual results may differ materially from those estimates.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">d)   Fair Value</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Fair value reflects the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Group considers the principal or most advantageous market in which it would transact and considers assumptions that market participants would use when pricing the assets or liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group applies a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. This guidance specifies a hierarchy of valuation techniques, which is based on whether the inputs into the valuation technique are observable or unobservable. The hierarchy is as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Level 1— Valuation techniques in which all significant inputs are unadjusted quoted prices from active markets for assets or liabilities that are identical to the assets or liabilities being measured.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Level 2— Valuation techniques in which significant inputs include quoted prices from active markets for assets or liabilities that are similar to the assets or liabilities being measured and/or quoted prices for assets or liabilities that are identical or similar to the assets or liabilities being measured from markets that are not active. Also, model-derived valuations in which all significant inputs and significant value drivers are observable in active markets are Level 2 valuation techniques.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">Level 3— Valuation techniques in which one or more significant inputs or significant value drivers are unobservable. Unobservable inputs are valuation technique inputs that reflect the Group’s own assumptions about the assumptions that market participants would use in pricing an asset or liability.</span></td></tr></table><div style="margin-top:10pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">The fair value guidance describes three main approaches to measure the fair value of assets and liabilities: (1) market approach; (2) income approach and (3) cost approach. The market approach uses prices and other relevant information generated from market transactions involving identical or comparable assets or liabilities. The income approach uses valuation techniques to convert future amounts to a single present value amount. The measurement is based on the value indicated by current market expectations about those future amounts. The cost approach is based on the amount that would currently be required to replace an asset.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">(</b><span style="font-style:italic;font-weight:bold;">d)   Fair Value </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">When available, the Group uses quoted market prices to determine the fair value of an asset or liability. If quoted market prices are not available, the Group will measure fair value using valuation techniques that use, when possible, current market-based or independently sourced market parameters, such as interest rates and currency rates. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Beginning January 1, 2019, the Group’s equity investments without readily determinable fair values, which do not qualify for NAV practical expedient and over which the Group does not have the ability to exercise significant influence through the investments in common stock or in substance common stock, are accounted for under the measurement alternative upon the adoption of Accounting Standards Update ("ASU") 2016-01 <i style="font-style:italic;">Recognition and Measurement of Financial Assets and Liabilities</i> (the "Measurement Alternative"). Under the Measurement Alternative, the carrying value is measured at cost, less any impairment, plus and minus changes resulting from observable price changes in orderly transactions for identical or similar investments. After management’s assessment of each of the long-term investments, management concluded that investments do not have readily determinable fair values, and elects the measurement alternative.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Financial instruments not reported at fair value include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, other current liabilities and short-term bank borrowings. The carrying amounts of these financial instruments as of December 31, 2019 and September 30, 2020 were considered representative of their fair values due to their short-term nature.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(e)   Foreign Currency Translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The functional currency of the Group is the United States Dollar ("US$"). The functional currency of the subsidiaries and the VIEs in the PRC is Renminbi ("RMB"). The functional currency of all the other subsidiaries is US$.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Foreign currency transactions have been translated into the functional currency at the exchange rates prevailing on the date of transactions. Foreign currency denominated monetary assets and liabilities are re-measured into the functional currency at exchange rates prevailing on the balance sheet date. Exchange gains and losses have been included in the determination of net income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group has chosen the US$ as its reporting currency. Assets and liabilities have been translated using exchange rates prevailing on the balance sheet date. Equity accounts are translated at historical exchange rates. Income statement items have been translated using the average exchange rate for the year. Translation adjustments have been reported as cumulative translation adjustments and are shown as a component of other comprehensive income/loss in the consolidated statements of comprehensive (loss) income and consolidated statements of changes in shareholders’ equity.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(f)   Cash, Cash Equivalents and Restricted Cash</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Cash and cash equivalents consist of cash on hand, demand deposits and floating rate financial instruments which are unrestricted as to withdrawal or use, and which have original maturities of three months or less when purchased.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Group's current-portion restrict cash represents amounts held in Group's bank account as guarantee deposit for payments processing services provided by the bank. </p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain bank accounts were frozen by the PRC local authority in connection with an ongoing investigation of alleged misconducts of third-party advertisers perpetrated on the Group's advertising platform. As of September 30, 2020, cash held in these frozen bank accounts amounted to US$2,472,998. These funds are presented as long-term restricted cash on the consolidated balance sheet as of September 30, 2020 as the Group cannot control the timing of its release. In October 2020, an additional US$18.4 million was deposited into these frozen bank accounts. The Group is still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation.<span style="font-style:italic;font-weight:bold;"> </span></p> 2472998 18400000 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)   Short-term Investments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Short-term investments primarily comprises of the time deposits with banks maturities between three months and one year. The Group states the short-term investments at amortized cost.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(h)   Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Mobile Advertising</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group generates substantially all of its revenue through mobile advertising. As of January 1, 2019, the Group adopted ASU 2014-09 Revenue from Contracts with Customers - Topic 606 and all subsequent ASUs that modified ASC 606. The Group has elected to apply the ASU and all related ASUs under the modified retrospective method to all contracts that were not completed as of January 1, 2019. Results for reporting periods beginning after January 1, 2019 are presented under Topic 606, while prior period amounts are not adjusted and continue to be reported under the accounting standards in effect for the prior period. The Group did not note any effects of applying the new revenue standard as an adjustment to the opening balance of retained earnings at the beginning of 2019.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In order to achieve that core principle, the Company applies the following five-step approach: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when a performance obligation is satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group provides advertising services to customers for promotion of their brands and products through its mobile applications, including a portfolio of content-rich mobile applications. The Group has two general pricing models for its advertising products: cost over a time period and cost for performance basis including per impression basis. For advertising contracts over a time period, the Group generally recognizes revenue ratably over time, because the customer simultaneously receives and consumes the benefits as the Group performs throughout a fixed contract term. For contracts that are charged on the cost for performance basis, the Group charges an agreed-upon fee to its customers determined based on the effectiveness of advertising links, which is typically measured by clicks, transactions, installations, user registrations, and other actions originating from the Group’s mobile applications. Revenue is recognized at a point in time when there is an effective click, transaction, installations, user registrations, and other actions originating from the Group’s mobile applications. For contracts that are charged on the cost per impression basis, the Group recognizes the revenue at a point in time when the impressions are delivered. Revenue for performance-based advertising services is recognized at a point in time when all the revenue recognition criteria are met.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group launched in-house developed advertising platform, CooTek Ads, to provide tailored advertising services from late 2019. Customers engaged through CooTek Ads are required to pay a deposit before using Group's services. The deposits received are recorded as deferred revenue on the consolidated balance sheets. The amounts due to the Group are deducted from the deposited amounts when performance criteria have been satisfied.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Others</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group also generates other revenues through cloud call business, licensing of its Smart Inputs products and membership fee from the users. The revenue is recognized when service is rendered.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">(h) Revenue Recognition (Continued)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Sales Incentives</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group provides sales incentives to certain customers on the CooTek Ads in the form of sales rebates which entitle them to receive reductions in the price by meeting certain cumulative consumption requirement or replenishing required amount of deposit. The Group accounts for these incentives granted to customers as variable consideration and records it as reduction of revenue. The amount of variable consideration is measured based on the most likely amount of incentives to be. For the nine months ended September 30, 2019 and 2020, the rebates recorded by the Group were nil and US$48,491,685, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Disaggregation of Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In the following table, revenue is disaggregated by revenue streams and geographic location of customers’ headquarters.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertising revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,575,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 337,037,822</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other revenue </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,324,105</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,027,633</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,899,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,065,455</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,314,113</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,161,631</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,423,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 325,246,386</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161,587</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,657,438</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,899,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,065,455</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Contract Balances</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable represent amounts invoiced, and revenue recognized prior to invoicing when the Group has satisfied its performance obligations and has the unconditional right to payment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h) Revenue Recognition (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Contract liabilities include payments received in advance of performance under the contract or for differences between the amount billed to a customer and the revenue recognized for the completed performance obligation which is presented as deferred revenue on the consolidated balance sheets. Due to the generally short-term duration of the Group’s contracts, the majority of the performance obligations are satisfied in one year. The movements of the Group’s accounts receivable and deferred revenue are as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Deferred Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Opening Balance at January 1, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,373,969</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,361</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Decrease) Increase, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,966,005)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,404</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending Balance at September 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,407,964</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 583,765</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Opening Balance at January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,254,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,887,908</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,828,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 809,359</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending Balance at September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,083,216</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,697,267</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group recognized revenue of US$263,383 and US$3,637,328 by the reducing the balance of deferred revenue in the nine months ended September 30, 2019 and 2020, respectively, which were included in the balance of deferred revenue at the beginning of the each period.</p> 2 0 48491685 <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advertising revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,575,374</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 337,037,822</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other revenue </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,324,105</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,027,633</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,899,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,065,455</p></td></tr></table> 106575374 337037822 2324105 2027633 108899479 339065455 <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,314,113</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,161,631</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,423,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 325,246,386</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,161,587</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,657,438</p></td></tr><tr><td style="vertical-align:bottom;width:66.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,899,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,065,455</p></td></tr></table> 51314113 11161631 55423779 325246386 2161587 2657438 108899479 339065455 <table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accounts Receivable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Deferred Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Opening Balance at January 1, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,373,969</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 344,361</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">(Decrease) Increase, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,966,005)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 239,404</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending Balance at September 30, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,407,964</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 583,765</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Opening Balance at January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,254,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,887,908</p></td></tr><tr><td style="vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Increase, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,828,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 809,359</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Ending Balance at September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,083,216</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 4,697,267</b></p></td></tr></table> 23373969 344361 -3966005 239404 19407964 583765 27254634 3887908 1828582 809359 29083216 4697267 263383 3637328 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(</span><span style="font-style:italic;">i)   Sales and Marketing Expenses</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Sales and marketing expenses primarily consist of advertising expenses, salaries and benefits of sales and marketing personnel and fees paid to mobile device manufacturers to pre-install the Group’s Smart Input products. Advertising expenses represent payment to the third parties for online user acquisition of the Group’s products via social media and demand-side platforms. Advertising expenses are expensed as sales and marketing expenses when the services are received. Such expenses amounted to US$86,189,395 and US$310,602,100 for the nine months ended September 30, 2019 and 2020, respectively.</p> 86189395 310602100 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;">(j)   Concentration and Risks</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Financial instruments that potentially expose the Group to concentration of credit risk consist primarily of cash and cash equivalents, short-term investments, accounts receivable and prepayments. The Group places its cash and cash equivalents and short-term investments with financial institutions with high-credit ratings and quality. The Group conducts credit evaluations of customers, and generally does not require collateral or other security from its customers. The Group 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 prepayments, the Group performs on-going credit evaluations of the financial condition of these suppliers and has noted no significant credit risk.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)   Concentration and Risks </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Concentration of Customers</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following customers accounted for 10% or more of revenue:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:50.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,335,698</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,731,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company C</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,088,217</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,873,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company E</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 91,588,390</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following customers accounted for 10% or more of accounts receivable:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company B</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,944,840</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,142,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,840,005</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,354,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company F</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,824,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Concentration of Vendors</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:50.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company G</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,080,305</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company H</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,853,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company I</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,804,056</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following vendors accounted for 10% or more of accounts payable:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company H</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,433,642</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company J</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,378,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:9.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;">Less than 10%.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)   Concentration and Risks </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Business and Economic Risks</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group participates in the dynamic and competitive high technology industry and believes that changes in any of the following areas could have a material adverse effect on the Group's future financial position, results of operations and cash flows: changes in the overall demand for services and products; competitive pressures due to existing and new entrants; advances and new trends in new technologies and industry standards; changes in certain strategic relationships or customer relationships; regulatory considerations; copyright regulations; brand maintenance and enhancement; and risks associated with the Company's ability to attract and retain employees necessary to support its growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group's operations could be adversely affected by significant political, economic and social uncertainties in the PRC.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Foreign Currency Risk</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The RMB is not a freely convertible currency. The State Administration for Foreign Exchange in the PRC, under the authority of the Peoples Bank of China, controls the conversion of RMB into other currencies. The value of the RMB is subject to changes in central government policies, international economic and political developments affecting supply and demand in the China Foreign Exchange Trading System market. The Group's cash and cash equivalents and restricted cash denominated in RMB amounted to RMB139,905,845 (amounted to US$20,054,735) and RMB292,519,950 (amounted to US$42,953,841) as of December 31, 2019 and September 30, 2020, respectively.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Concentration of Customers</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following customers accounted for 10% or more of revenue:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:50.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,335,698</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,731,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 20</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company C</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,088,217</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16,873,890</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company E</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 91,588,390</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following customers accounted for 10% or more of accounts receivable:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company B</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,944,840</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company C</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,142,638</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,840,005</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12,354,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company F</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,824,384</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Concentration of Vendors</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="7" style="vertical-align:bottom;white-space:nowrap;width:50.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company G</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,080,305</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company H</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,853,930</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Company I</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,804,056</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The following vendors accounted for 10% or more of accounts payable:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:22.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company H</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,433,642</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Company J</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,378,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:9.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin-bottom:10pt;margin-top:0pt;">Less than 10%.</p></td></tr></table> 21335698 0.20 21731172 0.20 11088217 0.10 16873890 0.16 91588390 0.27 17944840 0.62 4142638 0.14 3840005 0.13 12354156 0.40 9824384 0.32 11080305 0.12 10853930 0.12 41804056 0.13 8433642 0.13 7378433 0.11 139905845 20054735 292519950 42953841 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)  Recent Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">New accounting pronouncements recently adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In August 2018, the FASB issued ASU 2018-13, <i style="font-style:italic;">Fair Value Measurement (Topic 820): Disclosure Framework - Changes to the Disclosure Requirements for Fair Value Measurement</i>, which changes certain disclosure requirements, including those related to Level 3 fair value measurements. The provisions of ASU 2018-13 relating to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements, and the narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. The remaining provisions should be applied retrospectively to all periods presented upon their effective date. The Group has adopted this ASU on January 1, 2020, which did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt;">In October 2018, the FASB issued ASU 2018-17, <i style="font-style:italic;">Consolidation (Topic 810)</i>: Targeted Improvements to Related Party Guidance for Variable Interest Entities. Under the new guidance, to determine whether decision-making fees represent a variable interest, an entity considers indirect interests held through related parties under common control on a proportionate basis, rather than in their entirety. ASU 2018-17 is effective for annual periods beginning after December 15, 2019, including interim periods within those fiscal years, and early adoption is permitted in any interim period. ASU 2018-17 is required to be applied retrospectively from the date the guidance is first applied. The Group has early adopted this ASU on January 1, 2020 and did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">2. Summary of Significant Accounting Policies (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)  Recent Accounting Pronouncements</span><span style="font-size:10pt;font-style:italic;font-weight:bold;"> </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">New accounting pronouncements not yet adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">In February 2016, the FASB issued ASU 2016-02, <i style="font-style:italic;">Leases (Topic 842),</i> which requires lessees to recognize leases on balance sheet and disclose key information about lease arrangements. The new standard establishes a right-of-use ("ROU") model that requires a lessee to recognize a ROU asset and lease liability on the balance sheet for all leases with terms of longer than 12 months. Leases will be classified as finance or operating, with classification affecting the pattern and classification of expense recognition in the income statement. The standard is effective on January 1, 2019, with early adoption permitted, for public business entity ("PBE"). And it is effective on January 1, 2020 for non-issuers and PBEs that meet the definition of a PBE solely because their financial statements or financial information is included in a filing with the SEC. In July 2018, the FASB issued an update that provided an additional transition option that allows companies to continue applying the guidance under the lease standard in effect at that time in the comparative periods presented in the consolidated financial statements. Companies that elect this option would record a cumulative-effect adjustment to the opening balance of retained earnings on the date of adoption. In November 19, 2019, the FASB issued ASU 2019-10 to amend the effective date for ASU 2016-02 to be January 1, 2021 for non-issuers. The Group as an EGC has elected to adopt the new lease standard as of the effective date applicable to nonissuers and will implement the new lease standard on January 1, 2021 using the modified retrospective method. The modified retrospective approach would not require any transition accounting for leases that expired before the earliest comparative period presented. In addition, the Group will elect the transition practical referred to as the "package of three", 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. The Group is in the process of evaluating the impact on its consolidated financial statements, as well as the impact of adoption on policies, practices, systems and financial statement disclosures. As of September 30, 2020, the Group has US$2.9 million of future minimum operating lease commitments that are not currently recognized on its consolidated balance sheets (see note 13).</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Credit Losses, Measurement of Credit Losses on Financial Instruments</i>. This ASU provides more useful information about expected credit losses to financial statement users and changes how entities will measure credit losses on financial instruments and timing of when such losses should be recognized. This ASU is effective for annual and interim periods beginning after December 15, 2019 for the public business entities. Early adoption is permitted for all entities for annual periods beginning after December 15, 2018, and interim periods therein. In November 2019, the FASB issued ASU No. 2019-10 which delayed the effective date of ASU 2016-13 for smaller reporting companies (as defined by the U.S. Securities and Exchange Commission) and other non-SEC reporting entities to fiscal years beginning after December 15, 2022, including interim periods within those fiscal periods. Early adoption is permitted. The Company is currently assessing the impact the guidance will have on its consolidated financial statements.</p> 2900000 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">3. Accounts Receivable, net</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Accounts receivable, net, consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,028,826</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,044,944</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for doubtful accounts:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Balance at beginning of the year/period</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,286,120)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,774,192)</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Additions charged to bad debt expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,104,458)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (322,361)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Write-off</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,616,076</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,266</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Foreign exchange effect</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,441)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of the year/period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,774,192)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,961,728)</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Accounts receivable, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 27,254,634</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,083,216</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,028,826</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,044,944</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for doubtful accounts:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Balance at beginning of the year/period</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,286,120)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,774,192)</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Additions charged to bad debt expense</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,104,458)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (322,361)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Write-off</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,616,076</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,266</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;"> Foreign exchange effect</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,441)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at end of the year/period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,774,192)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,961,728)</p></td></tr><tr><td style="vertical-align:bottom;width:68.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Accounts receivable, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 27,254,634</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,083,216</b></p></td></tr></table> 29028826 31044944 1286120 1774192 4104458 322361 3616076 141266 310 -6441 1774192 1961728 27254634 29083216 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">4. Prepaid Expenses and Other Current Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Prepaid expenses and other current assets consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Value added tax recoverable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,750,491</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,649,736</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,575,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,856,326</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advance to suppliers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,545,793</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 952,760</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 976,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,305,359</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Prepaid expenses and other current assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 7,847,794</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 10,764,181</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Value added tax recoverable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,750,491</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,649,736</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other receivables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,575,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,856,326</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Advance to suppliers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,545,793</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 952,760</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 976,043</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,305,359</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Prepaid expenses and other current assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 7,847,794</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 10,764,181</b></p></td></tr></table> 3750491 4649736 1575467 3856326 1545793 952760 976043 1305359 7847794 10764181 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">5. Property and Equipment, net</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Property and equipment, net, consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Electronic equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,622,184</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,045,523</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office equipment and furniture</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 346,181</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,470</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,470</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,410,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,561,612</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,200</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,525,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,035,786</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,855,562)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,438,638)</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Property and equipment, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 5,669,849</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 5,597,148</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">For the nine months ended September 30, 2019 and 2020 depreciation expenses were US$2,077,516 and US$2,656,359, respectively.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Electronic equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,622,184</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,045,523</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office equipment and furniture</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 334,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 346,181</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,470</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,470</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,410,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,561,612</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,200</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,525,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,035,786</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,855,562)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,438,638)</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Property and equipment, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 5,669,849</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 5,597,148</b></p></td></tr></table> 9622184 12045523 334452 346181 82470 82470 1410105 1561612 76200 11525411 14035786 5855562 8438638 5669849 5597148 2077516 2656359 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">6. Short-term Bank Borrowings</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group’s bank borrowings consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,012,645</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,822,161</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.05pt;margin:0pt 0pt 10pt 0pt;">In July 2016, the Group entered into a credit facility agreement with a commercial bank under which the Group can draw-down up to US$6.0 million by October, 2018. In October 2019, the Group renewed the bank credit facility under which the Group can borrow up to US$6.0 million collateralized by its accounts receivable by October, 2020. In 2019, the Group has aggregately drawn down the credit facility of US$7.7 million and repaid US$1.9 million. The weighted average interest rate for borrowings drawn under such credit facility was 5.53% for the year ended December 31, 2019. In June 2020, the Group renewed the bank credit facility under which the Group can borrow up to US$11.0 million collateralized by its accounts receivable by June 2021. The interest rate for this credit facility is the LPR base interest rate plus 1.30%. For the nine months ended September 30, 2020, the Group has aggregately drawn down the credit facility of US$11.1million and repaid US$6.3 million, and the weighted average interest rate for borrowings drawn under such credit facility was 5.15%. The loan contains maximum quarterly net loss as financial covenants which the Group failed to fulfill as of September 30, 2020. The Group is negotiating for the waiver of the financial covenants with the bank.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">6. Short-term Bank Borrowings (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.05pt;margin:0pt 0pt 10pt 0pt;">In July 2018, the Group entered into a credit facility agreement with a commercial bank under which the Group can draw-down up to US$4.0 million by July, 2019. In October 2019, the Group renewed the bank credit facility under which the Group can borrow up to US$4.0 million collateralized by its accounts receivable by October 2020. In 2019, the Group has aggregately drawn down the credit facility of US$6.4 million and repaid US$3.2 million. The weighted average interest rate for borrowings drawn under such credit facility was 6.12% for the year ended December 31, 2019. In June 2020, the Group renewed the bank credit facility under which the Group can borrow up to US$4.0 million collateralized by its accounts receivable by June 2021. The interest rate for this credit facility is Libor plus 3.5%, determined on the draw-down date. For the nine months ended September 30, 2020, the Group has aggregately drawn down the credit facility of US$4 million and repaid US$3.2million, and the weighted average interest rate for borrowings drawn under such credit facility was 3.84%. The loan contains maximum quarterly net loss as financial covenants which the Group failed to fulfill as of September 30, 2020. The Group is negotiating for the waiver of the financial covenants with the bank.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">As of September 30, 2020, the Group has fully utilized the credit facility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,012,645</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,822,161</p></td></tr></table> 9012645 14822161 6000000.0 6000000.0 7700000 1900000 0.0553 11000000.0 0.0130 11100000 6300000 0.0515 4000000.0 4000000.0 6400000 3200000 0.0612 4000000.0 0.035 4000000 3200000 0.0384 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">7. Accrued Expenses and Other Current Liabilities</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Accrued expenses and other current liabilities consisted of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other tax payables (Note 1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,239,430</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,564,615</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued expenses (Note 2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,106,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,665,599</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 609,533</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 985,186</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,955,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,215,400</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"><span style="font-weight:normal;">Note 1: Other tax payables as of September 30, 2020, mainly consisted of value-added tax payable of US</span><span style="font-weight:normal;">$4.6</span><span style="font-weight:normal;"> million and other taxes such as individual income tax and stamp duty tax.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-weight:normal;">Note 2: Accrued expenses mainly consisted of accrued professional service fees and other miscellaneous accrued marketing and operation expenses.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other tax payables (Note 1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,239,430</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,564,615</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued expenses (Note 2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,106,993</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,665,599</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 609,533</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 985,186</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,955,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,215,400</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"><span style="font-weight:normal;">Note 1: Other tax payables as of September 30, 2020, mainly consisted of value-added tax payable of US</span><span style="font-weight:normal;">$4.6</span><span style="font-weight:normal;"> million and other taxes such as individual income tax and stamp duty tax.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;text-align:justify;text-indent:18pt;margin:0pt;"><span style="font-weight:normal;">Note 2: Accrued expenses mainly consisted of accrued professional service fees and other miscellaneous accrued marketing and operation expenses.</span></p> 3239430 4564615 2106993 4665599 609533 985186 5955956 10215400 4600000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">8. Other Operating Income (Loss), net</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Other operating loss, net for the nine months ended September 30, 2020, primarily consisted of government subsidies received by the Group, compensation payment of US<span style="-sec-ix-hidden:Hidden_4wHCT8YAjEisVbUD-NwC6A;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">$1.6</span></span> million to victims of alleged misconducts of certain third-party advertisers perpetrated on the Group's platform that the Group deposited to an escrow account controlled by a local authority conducting investigation on the advertisers and contingent liabilities for intellectual property infringement and unfair competition lawsuits during operations. Other operating income, net for the nine months ended September 30, 2019, primarily consisted of government subsidies received by the Group and contingent liabilities for intellectual property infringement lawsuit during operations.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">9. Income Taxes Expense</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The current and deferred portion of income tax expenses included in the consolidated statements of operations are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:29.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,714</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200</p></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,714</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group’s effective tax rates were nil for the nine months ended September 30, 2019 and 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt;">The Group recorded a full valuation allowance against deferred tax assets of all its consolidated entities because all entities were in a cumulative loss position as of December 31, 2019 and September 30, 2020. No unrecognized tax benefits and related interest and <span style="-sec-ix-hidden:Hidden_kl4q4GY9U0-CZ-XRZEBbpQ;"><span style="color:#000000;font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;text-align:justify;">penalties</span></span> were recorded in any of the periods presented.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:29.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current tax expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,714</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200</p></td></tr><tr><td style="vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,714</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200</p></td></tr></table> 1714 3200 1714 3200 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">10. Treasury Shares</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Treasury shares represent shares repurchased by the Group that are no longer outstanding and are held by the Group. For the nine months ended September 30, 2020, under the repurchase plan, the Group had repurchased an aggregate of 64,770,700 ordinary shares on the open market for a total cash consideration of US$8,130,513, which were accounted for as the cost of the treasury shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;">As of September 30, 2020, 135,205,550 treasury shares have been cancelled.</p> 64770700 8130513 135205550 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">11. Share-Based Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;margin:0pt 0pt 10pt 18pt;">Share Options</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The options have a contractual term of ten years. The vesting date starts on the grant date or the commencement date of a participant’s employment agreement. The options vest 20% on each of the five anniversary dates of the vesting date and upon continued employment. In the event of termination of a participant’s employment, the unvested options shall be terminated immediately. The participant’s right to exercise the vested options shall be terminated 2 or 3 months after the termination of the employment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group uses the binomial option pricing model and the following assumptions to estimate the fair value of the options at the date of granted:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Average risk-free rate of interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1.67%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0.67%</p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">42.50%-43.22%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">43.18%-43.38%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dividend yield</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0%</p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contractual term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value of the underlying shares on the date of option grants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0.09-0.10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0.10-0.13</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">On November 6, 2018, the Board of Directors approved an option modification to reduce the exercise price of certain options granted to employees. All other terms of the share options granted remain unchanged. The modification resulted in incremental compensation cost of US$285,661, of which US$68,530 and US$42,867 was recorded during the nine months ended September 30, 2019 and the nine months ended September 30, 2020, respectively. The remaining US$141,977 will be amortized over the remaining vesting period of the modified options, ranging from the remaining of 2020 to 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">11. Share-Based Compensation (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Options (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The risk-free rate of interest is based on the US Treasury yield curve as of valuation date. Volatility is estimated based on annualized standard deviation of daily stock price return of comparable companies for the period before valuation date and with similar span as the expected expiration term. The Group has never declared or paid any cash dividends on its capital stock, and the Group does not anticipate any dividend payments in the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">A summary of the aggregate option activity and information regarding options outstanding as of September 30, 2020 is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">average exercise</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">price</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding on January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160,800,982</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,572,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.0002</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,108,508)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.03</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,220,000)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding on September 30, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,044,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options exercisable on September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128,681,130</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Vested or expected to vest as of September 30, 2020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,044,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The weighted average grant date fair values of options granted during the nine months ended September 30, 2019 and the nine months ended September 30, 2020 were US$0.10 and US$0.10, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">For the nine months ended September 30, 2020, 15,220,000 of options were exercised with an aggregate intrinsic value of US$944,105. For the nine months ended September 30, 2019, 8,330,150 of options were exercised with an aggregate intrinsic value of US$545,013.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:24.5pt;margin:0pt 0pt 10pt 0pt;">For the nine months ended September 30, 2019 and 2020 excluding the incremental compensation cost resulted from the modification discussed above, the Group recognized share-based compensation expense of US$439,601 and US$2,292,252, respectively. As of September 30, 2020, there was US$12,686,969 in total unrecognized compensation cost related to non-vested stock options, which is expected to be recognized over a weighted-average period of 3.28 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Restricted Share Units</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:24.5pt;margin:0pt 0pt 10pt 0pt;">In the nine months ended September 30, 2020, the Group granted to certain employees 1,578,500 Restricted Share Units ("RSUs"). The RSUs have a contractual term of ten years and vest 25% on each anniversary over four years from the grant date. The vesting of these RSUs is conditioned on continued employment. Compensation expense based on fair value is amortized over the requisite service period of award using the straight line vesting attribution method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">11. Share-Based Compensation (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:italic;font-weight:bold;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Restricted Share Units (Continued)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:24.5pt;margin:0pt 0pt 10pt 0pt;">A summary of the RSUs activity for the nine months ended September 30, 2020 is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">grant date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">restricted shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">fair value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested restricted shares outstanding at January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,725,912</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.20</p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,578,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.10</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,331,332)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.22</p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,779,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.17</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested restricted shares outstanding at September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,194,080</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.19</p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected to vest at September 30, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,194,080</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 0.19</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The share-based compensation expense related to RSUs of US$2,708,567 and US$1,471,380 were recognized by the Group for the nine months ended September 30, 2019 and 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2020, there was US$4,477,292 in unrecognized compensation costs, net of actual forfeitures, related to unvested restricted shares, which is expected to be recognized over a weighted-average period of 2.30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt;"><span style="font-size:10pt;">In June 2020, the Group cash settled certain vested share options and RSUs at fair value amounted to US$</span><span style="font-size:10pt;">823,226</span><span style="font-size:10pt;">. Given the transaction is an one-time transaction, negotiated after the award is vested, and not pursuant to a pre-existing right of the Group, the Group accounted for it as a repurchase of equity with amount of cash paid recorded as additional paid in capital.</span></p> P10Y 0.20 5 P2M P3M <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Average risk-free rate of interest</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">1.67%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0.67%</p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">42.50%-43.22%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">43.18%-43.38%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Dividend yield</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0%</p></td></tr><tr><td style="vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contractual term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10 years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value of the underlying shares on the date of option grants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0.09-0.10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">0.10-0.13</p></td></tr></table> 0.0167 0.0067 0.4250 0.4322 0.4318 0.4338 0 0 P10Y P10Y P10Y 0.09 0.10 0.10 0.13 285661 68530 42867 141977 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">A summary of the aggregate option activity and information regarding options outstanding as of September 30, 2020 is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">average exercise</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">price</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding on January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160,800,982</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,572,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.0002</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,108,508)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.03</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,220,000)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.04</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding on September 30, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,044,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Options exercisable on September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128,681,130</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td></tr><tr><td style="vertical-align:bottom;width:64.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">Vested or expected to vest as of September 30, 2020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,044,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.02</p></td></tr></table> 160800982 0.05 145572500 0.0002 7108508 0.03 15220000 0.04 284044974 0.02 128681130 0.05 284044974 0.02 0.10 0.10 15220000 944105 8330150 545013 439601 2292252 12686969 P3Y3M10D 1578500 P10Y 0.25 4 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:24.5pt;margin:0pt 0pt 10pt 0pt;">A summary of the RSUs activity for the nine months ended September 30, 2020 is as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">grant date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">restricted shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">fair value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested restricted shares outstanding at January 1, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,725,912</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.20</p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,578,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.10</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,331,332)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.22</p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (11,779,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.17</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested restricted shares outstanding at September 30, 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,194,080</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.19</p></td></tr><tr><td style="vertical-align:bottom;width:72.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected to vest at September 30, 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 29,194,080</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> 0.19</b></p></td></tr></table> 50725912 0.20 1578500 0.10 11331332 0.22 11779000 0.17 29194080 0.19 29194080 0.19 2708567 1471380 4477292 P2Y3M18D 823226 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">12. Net Loss Per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Net loss per share was computed by dividing net loss attributable to ordinary shareholders by the weighted average number of ordinary shares outstanding for the nine months ended September 30, 2019 and 2020:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:29.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss—basic and diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,200,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,582,981)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss attributable to ordinary shareholders</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,200,182)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,582,981)</p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Shares (Denominator):</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of ordinary shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,163,501,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,086,630,271</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,163,501,054</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,086,630,271</p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss earnings per share—basic and diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.01)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.01)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">12. Net Loss Per Share (Continued)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">As a result of the Group’s net loss for the nine months ended September 30, 2019 and 2020, diluted net loss per share does not include the following instruments as their inclusion would be antidilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:29.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160,139,359</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,044,974</p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Restricted shares units </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,108,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,194,080</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220,248,322</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 313,239,054</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:29.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss—basic and diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,200,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,582,981)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss attributable to ordinary shareholders</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (30,200,182)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,582,981)</p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Shares (Denominator):</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average number of ordinary shares outstanding</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,163,501,054</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,086,630,271</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,163,501,054</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,086,630,271</p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss earnings per share—basic and diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.01)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.01)</p></td></tr></table> -30200182 -28582981 -30200182 -28582981 3163501054 3086630271 3163501054 3086630271 -0.01 -0.01 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:29.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 160,139,359</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,044,974</p></td></tr><tr><td style="vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Restricted shares units </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,108,963</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,194,080</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total </b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 220,248,322</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 313,239,054</p></td></tr></table> 160139359 284044974 60108963 29194080 220248322 313239054 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">13. Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Lease Commitments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group leases certain office premises under operating leases. The term of each lease agreement vary and may contain renewal options. Rental payments under operating leases are charged to operating expenses on a straight-line basis over the period of the lease based on contract terms. Rental expenses under operating leases for the nine months ended September 30, 2019 and 2020 were US$1,338,427, and US$1,096,762, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Future lease payments under operating leases as of September 30, 2020 were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ending December 31</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The remaining of 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">494,753</p></td></tr><tr><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">1,590,357</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">741,411</p></td></tr><tr><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">60,455</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">2,886,976</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The Group did not have other significant capital commitments or significant guarantees as of December 31, 2019 and September 30, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="text-decoration:underline;text-decoration-color:#000000;">Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt;">From time to time, the Group is a party to various legal actions arising in the ordinary course of business. The Group accrues costs associated with these matters when they become probable and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies are expensed as incurred. The Group's management does not expect any liability from the disposition of such claims and litigation individually or in the aggregate would have a material adverse impact on the Group's consolidated financial position, results of operations and cash flows.</p> 1338427 1096762 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Future lease payments under operating leases as of September 30, 2020 were as follows:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:86.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year ending December 31</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The remaining of 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">494,753</p></td></tr><tr><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">1,590,357</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">741,411</p></td></tr><tr><td style="vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">60,455</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">2,886,976</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">​</span></p> 494753 1590357 741411 60455 2886976 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">14. Segment Information</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group has only one reportable segment since the Group does not distinguish revenues, costs and expenses between segments in its internal reporting, and reports costs and expenses by nature as a whole.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">The Group’s chief operating decision maker, who has been identified as the Chief Executive Officer, reviews the consolidated results when making decisions about allocating resources and assessing performance of the Group as a whole. The Group does not distinguish among markets or segments for the purpose of internal reports.</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">14. Segment Information (Continued)</p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:20.15pt;margin:0pt 0pt 10pt 0pt;">Information about the Group’s non-current assets is presented based on the geographical location of the assets as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,655,953</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,258,416</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,540,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,661,423</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,196,693</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,919,839</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> </b><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,655,953</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,258,416</p></td></tr><tr><td style="vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,540,740</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,661,423</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,196,693</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,919,839</p></td></tr></table> 2655953 4258416 3540740 2661423 6196693 6919839 <p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><b style="font-weight:bold;">15. Subsequent Event</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Pursuant to the repurchase shares program announced on May 18, 2020, 5,486,350 shares (equivalent to 109,727 ADSs) of the Group’s Class A ordinary shares were purchased from October 1, 2020 through December 14, 2020 for a total cash consideration of US$0.5 million from the public market.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 5486350 109727 500000 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.20.4
Document and Entity Information
9 Months Ended
Sep. 30, 2020
Document Information [Line Items]  
Document Type 6-K
Document Period End Date Sep. 30, 2020
Entity Registrant Name CooTek(Cayman)Inc.
Entity Central Index Key 0001734262
Current Fiscal Year End Date --12-31
Document Fiscal Year Focus 2020
Document Fiscal Period Focus Q3
Amendment Flag false
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
Sep. 30, 2020
Dec. 31, 2019
Current assets:    
Cash and cash equivalents $ 58,478,376 $ 59,905,827
Restricted cash 60,209 60,204
Short-term investments 550,025 571,508
Accounts receivable, net of allowance for doubtful accounts of US$1,774,192 and US$1,961,728 as of December 31, 2019 and September 30, 2020, respectively 29,083,216 27,254,634
Prepaid expenses and other current assets 10,764,181 7,847,794
Total current assets 98,936,007 95,639,967
Long term restricted cash 2,472,998  
Property and equipment, net 5,597,148 5,669,849
Intangible assets, net 419,343 267,736
Long-term investments 146,841  
Other non-current assets 756,507 259,108
TOTAL ASSETS 108,328,844 101,836,660
Current liabilities (including amounts of the consolidated VIEs without recourse to the Company. See Note 2(b)):    
Accounts payable 64,805,107 37,877,800
Short-term bank borrowings 14,822,161 9,012,645
Accrued salary and benefits 7,747,460 5,598,425
Accrued expenses and other current liabilities 10,215,400 5,955,956
Deferred revenue 4,697,267 3,887,908
Total current liabilities 102,287,395 62,332,734
Other non-current liabilities 493,467 595,563
TOTAL LIABILITIES 102,780,862 62,928,297
Commitments and contingencies
Shareholders' equity:    
Treasury shares (9,937,000 and 25,426,900 shares as of December 31, 2019 and September 30, 2020, respectively) (3,322,668) (1,063,547)
Additional paid-in capital 192,375,859 194,971,827
Accumulated deficit (182,181,327) (153,598,346)
Accumulated other comprehensive loss (1,354,788) (1,432,833)
Total Shareholders' Equity 5,547,982 38,908,363
TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY 108,328,844 101,836,660
Class A    
Shareholders' equity:    
Ordinary shares 28,444 28,800
Class B    
Shareholders' equity:    
Ordinary shares $ 2,462 $ 2,462
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
Sep. 30, 2020
Dec. 31, 2019
Allowance for doubtful accounts $ 1,961,728 $ 1,774,192
Treasury stock, shares 25,426,900 9,937,000
Class A    
Ordinary shares, par value $ 0.00001 $ 0.00001
Ordinary shares, shares authorized 13,750,000,000 13,750,000,000
Ordinary shares, shares issued 2,844,418,332 2,880,056,332
Ordinary shares, shares outstanding 2,818,991,432 2,870,119,332
Class B    
Ordinary shares, par value $ 0.00001 $ 0.00001
Ordinary shares, shares authorized 250,000,000 250,000,000
Ordinary shares, shares issued 246,224,465 246,224,465
Ordinary shares, shares outstanding 246,224,465 246,224,465
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Net revenues $ 339,065,455 $ 108,899,479
Cost of revenue (including share-based compensation of US$65,858 and US$198,402 in the nine months ended September 30, 2019 and 2020, respectively) (17,056,483) (11,435,005)
Gross profit 322,008,972 97,464,474
Operating expenses:    
General and administrative expenses (including share-based compensation of US$434,790 and US$1,281,380 in the nine months ended September 30, 2019 and 2020, respectively) (11,144,938) (13,504,075)
Research and development expenses (including share-based compensation of US$2,564,606 and US$2,157,990 in the nine months ended September 30, 2019 and 2020, respectively) (23,153,735) (21,197,631)
Sales and marketing expenses (including share-based compensation of US$151,444 and US$168,727 in the nine months ended September 30, 2019 and 2020, respectively) (316,276,383) (93,533,363)
Other operating income (loss), net (227,540) 228,302
Total operating expenses (350,802,596) (128,006,767)
Loss from operations (28,793,624) (30,542,293)
Interest income, net 227,348 708,370
Foreign exchange losses, net (13,505) (364,545)
Loss before income taxes (28,579,781) (30,198,468)
Income tax expense (3,200) (1,714)
Net Loss attributable to ordinary shareholders $ (28,582,981) $ (30,200,182)
Net Loss per ordinary share:    
Basic (in dollars per share) $ (0.01) $ (0.01)
Diluted (in dollars per share) $ (0.01) $ (0.01)
Weighted average shares used in calculating net loss per ordinary share:    
Basic (in shares) 3,086,630,271 3,163,501,054
Diluted (in shares) 3,086,630,271 3,163,501,054
ADS    
Net Loss per ordinary share:    
Basic (in dollars per share) $ (0.46) $ (0.48)
Diluted (in dollars per share) $ (0.46) $ (0.48)
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)
9 Months Ended
Sep. 30, 2020
USD ($)
Sep. 30, 2019
USD ($)
Class A    
ADS ratio 50 50
Cost of revenue    
Share-based compensation expense $ 198,402 $ 65,858
General and administrative expenses    
Share-based compensation expense 1,281,380 434,790
Research and development expenses    
Share-based compensation expense 2,157,990 2,564,606
Sales and marketing expenses    
Share-based compensation expense $ 168,727 $ 151,444
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS    
Net Loss $ (28,582,981) $ (30,200,182)
Other comprehensive (loss) income    
Foreign currency translation adjustments, net of tax of nil 78,045 (220,513)
Comprehensive Loss $ (28,504,936) $ (30,420,695)
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Parenthetical) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS    
Foreign currency translation adjustments, tax $ 0 $ 0
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY - USD ($)
Ordinary shares
Class A
Ordinary shares
Class B
Treasury Stock
Additional paid-in capital
Accumulated deficit
Accumulated other comprehensive (loss) income
Class A
Class B
Total
Beginning balance at Dec. 31, 2018 $ 29,498 $ 2,462 $ (2,499,167) $ 204,701,187 $ (116,752,285) $ (1,158,900)     $ 84,322,795
Beginning balance (in shares) at Dec. 31, 2018 2,949,757,236 246,224,465 15,550,500            
CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY                  
Net Loss         (30,200,182)       (30,200,182)
Repurchase of ordinary shares     $ (9,741,378)           (9,741,378)
Repurchase of ordinary shares (in shares)     56,461,100            
Share-based compensation       3,216,698         3,216,698
Issuance of ordinary shares upon vesting of restricted shares $ 95     (95)          
Issuance of ordinary shares upon vesting of restricted shares (in shares) 9,397,592                
Exercise of share options $ 84     277,838         277,922
Exercise of share options (in shares) 8,330,150                
Cancellation of treasury shares $ (323)   $ 5,737,950 (5,737,627)          
Cancellation of treasury shares (in shares) (32,268,350)   (32,268,350)            
Foreign currency translation adjustments           (220,513)     (220,513)
Ending balance at Sep. 30, 2019 $ 29,354 $ 2,462 $ (6,502,595) 202,458,001 (146,952,467) (1,379,413)     47,655,342
Ending balance (in shares) at Sep. 30, 2019 2,935,216,628 246,224,465 39,743,250            
Beginning balance at Dec. 31, 2019 $ 28,800 $ 2,462 $ (1,063,547) 194,971,827 (153,598,346) (1,432,833)     38,908,363
Beginning balance (in shares) at Dec. 31, 2019 2,880,056,332 246,224,465 9,937,000       2,870,119,332 246,224,465  
CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY                  
Net Loss         (28,582,981)       (28,582,981)
Repurchase of ordinary shares     $ (8,130,513)           (8,130,513)
Repurchase of ordinary shares (in shares)     64,770,700            
Cash settlement on vested share options and restricted shares       (823,226)         (823,226)
Share-based compensation       3,806,499         3,806,499
Issuance of ordinary shares upon vesting of restricted shares $ 42     (42)          
Issuance of ordinary shares upon vesting of restricted shares (in shares) 4,227,200                
Exercise of share options $ 94     291,701         $ 291,795
Exercise of share options (in shares) 9,415,600                
Cancellation of treasury shares $ (492)   $ 5,871,392 (5,870,900)          
Cancellation of treasury shares (in shares) (49,280,800)   (49,280,800)           (135,205,550)
Foreign currency translation adjustments           78,045     $ 78,045
Ending balance at Sep. 30, 2020 $ 28,444 $ 2,462 $ (3,322,668) $ 192,375,859 $ (182,181,327) $ (1,354,788)     $ 5,547,982
Ending balance (in shares) at Sep. 30, 2020 2,844,418,332 246,224,465 25,426,900       2,818,991,432 246,224,465  
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.20.4
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
9 Months Ended
Sep. 30, 2020
USD ($)
Sep. 30, 2019
USD ($)
Cash flows from operating activities:    
Net Loss $ (28,582,981) $ (30,200,182)
Depreciation and amortization 2,738,487 2,096,190
Provision for allowance of doubtful accounts 322,361 4,665,322
Share-based compensation 3,806,499 3,216,698
Loss on disposal of property and equipment 15,124 91
Changes in assets and liabilities:    
Accounts receivable (1,404,021) (370,877)
Prepaid expenses and other current assets (3,421,313) (1,612,532)
Other non-current assets (506,082) 238,762
Accounts payable 24,826,554 3,146,856
Accrued salary and benefits 1,578,215 (544,028)
Accrued expenses and other current liabilities 4,592,654 507,323
Deferred revenue 2,105,852 242,373
Other non-current liabilities (102,097) (285,690)
Net cash (used in) provided by operating activities 5,969,252 (18,899,694)
Cash flows from investing activities:    
Purchases of property, equipment and intangible assets (2,237,794) (4,097,269)
Purchases of short-term investments (13,000,000)  
Maturity of short-term investments 13,022,268  
Purchases of long-term investments (146,841)  
Net cash (used in) investing activities (2,362,367) (4,097,269)
Cash flows from financing activities:    
Proceeds from short-term bank borrowings 15,240,004 5,040,813
Repayment of short-term bank borrowings (9,515,198)  
Proceeds from issuance of ordinary shares upon exercise of share options 291,795 277,922
Cash paid to settle vested share options and restricted shares (823,226)  
Cash paid for deferred issuance costs   (809,952)
Payments of share repurchases (8,130,513) (9,741,378)
Net cash (used in) financing activities (2,937,138) (5,232,595)
Net (decrease) increase in cash, cash equivalents, and restricted cash 669,747 (28,229,558)
Cash, cash equivalents, and restricted cash at beginning of period 59,966,031 84,859,915
Effect of exchange rate changes on cash, cash equivalents and restricted cash 375,805 (360,608)
Cash, cash equivalents, and restricted cash at end of period 61,011,583 56,269,749
Supplemental disclosure of cash flow information:    
Income taxes paid 3,200 1,714
Interest paid 417,882 42,691
Supplemental disclosure of noncash investing and financing activities:    
Purchases of property and equipment included in payables 224,410 54,814
Reconciliation in amounts on consolidated balance sheets:    
Total cash, cash equivalents, and restricted cash $ 61,011,583 $ 56,269,749
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.20.4
Organization and Principal Activities
9 Months Ended
Sep. 30, 2020
Organization and Principal Activities  
Organization and Principal Activities

1. Organization and Principal Activities

CooTek (Cayman) Inc. (the "Company") was incorporated in the Cayman Islands on March 5, 2012. The Company, its subsidiaries, its consolidated Variable Interest Entities ("VIEs") and VIEs’ subsidiaries (collectively referred to as the "Group") are a fast-growing mobile internet company with a global vision, offering mobile applications including a portfolio of content-rich mobile applications.

History of the Group and reorganization

The Group’s history began in August 2008 with the commencement of operations of Shanghai Han Xiang (CooTek) Information Technology Co., Ltd ("Han Xiang"), a limited liability company incorporated in the People’s Republic of China ("PRC") by certain individuals. In October 2010, three outside investors acquired an aggregate of 24.24% equity interest of Han Xiang. In 2012, Han Xiang and its shareholders undertook a reorganization which was conducted to establish a Cayman holding company for the existing business to obtain investment from outside investors and in preparation of an overseas initial public offering. The Group has recognized the net assets of Han Xiang on a historical cost with no change in basis in the consolidated financial statements upon the completion of the reorganization. The shareholders’ rights and obligations remained the same after the reorganization.

On October 2, 2018 the Group completed its initial public offering ("IPO") and issued 4,350,000 American depositary shares representing 217,500,000 of the Group’s ordinary shares. Net proceeds from the IPO after deducting underwriting discount and offering costs were US$45.1 million.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

2. Summary of Significant Accounting Policies

(a)   Basis of Presentation

The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America ("U.S. GAAP") and applicable rules and regulations of the Securities and Exchange Commission ("SEC"), regarding interim financial reporting, and include all normal and recurring adjustments that management of the Group considers necessary for a fair presentation of its financial position and operating results. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. Accordingly, these financial statements should be read in conjunction with the Group’s annual consolidated financial statements and notes thereto, included in the Company’s 2019 Annual Report on Form 20-F filed with the SEC on April 20, 2020, referred to as the Company’s 2019 Annual Report.

(b)   Principles of Consolidation

The consolidated financial statements include the financial information of the Company, its wholly owned subsidiaries, its consolidated VIEs and VIEs’ subsidiaries. All intercompany balances and transactions have been eliminated upon consolidation.

Applicable PRC laws and regulations currently limit foreign ownership of companies that provide internet content distribution services and any other restrictions. The Company is deemed a foreign legal person under PRC laws and accordingly subsidiaries owned by the Company are not eligible to engage in provisions of internet content or online services. The Group therefore conducts its online business through the following major consolidated VIEs:

Shanghai Chu Bao (CooTek) Information Technology Co., Ltd. ("Chu Bao")
Yingsun Information Technology (Ningbo) Co., Ltd. ("Yingsun")
Shanghai Qiaohan Technology Co., Ltd. ("Qiaohan")
Molihong (Shenzhen) Internet Technology Co., Ltd. ("Molihong")
Shanghai Dengyong Information Technology Co., Ltd. ("Dengyong")

2. Summary of Significant Accounting Policies (Continued)

(b)   Principles of Consolidation (Continued)

The following consolidated financial statement balances and amounts of the Group’s VIEs were included in the accompanying unaudited condensed consolidated financial statements after the elimination of intercompany balances and transactions among the Company, its subsidiaries and its VIEs.

As of December 31,

As of September 30, 

2019

2020

    

US$

    

US$

ASSETS

 

  

 

  

Cash and cash equivalents

 

13,714,304

 

23,294,883

Restricted cash

 

203

 

209

Short-term investments

 

21,502

 

Accounts receivable, net

 

21,582,641

 

23,473,397

Prepaid expense and other assets

 

3,643,649

 

8,569,904

Long term restricted cash

2,472,998

Long-term investments

 

 

146,841

Property and equipment, net

 

496

 

9,231

Intangible assets, net

 

47,122

 

61,020

Other non-current assets

 

 

2,131

Total Assets

 

39,009,917

 

58,030,614

LIABILITIES

 

  

 

  

Accounts payable

 

35,002,827

 

57,304,063

Short-term bank borrowings

 

408,264

 

256,697

Accrued salary and benefits

 

275,091

 

604,020

Accrued expenses and other current liabilities

 

1,385,303

 

3,696,308

Deferred revenue

 

3,658,808

 

1,928,241

Total Liabilities

 

40,730,293

 

63,789,329

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Net revenues

38,276,479

299,205,121

Loss from operations

 

(18,841,315)

 

(94,447)

Net (loss) income

 

(18,823,768)

 

150,325

Net cash (used in) provide by operating activities

 

(6,560,184)

 

18,000,288

Net cash used in investing activities

 

 

(201,320)

Net cash provided by (used in) financing activities

 

44,315

 

(179,412)

The VIEs’ assets are comprised of recognized and unrecognized revenue-producing assets. The recognized revenue producing assets mainly include purchased servers and software, which are presented in the account of "Property and equipment, net" and "Intangible assets, net". The unrecognized revenue-producing assets mainly consist of the Internet Content Provider license ("ICP" license), trademarks, copyrights and registered patents, which are not recognized in the consolidated balance sheets.

Revenues of VIEs included in the consolidated financial statements mainly include revenue of advertising services. The VIEs contributed 35% and 88% of the Group’s consolidated net revenues for the nine months ended September 30, 2019 and 2020, respectively. As of December 31, 2019 and September 30, 2020, the VIEs accounted for an aggregate of 38% and 54% respectively, of the consolidated total assets, and 65% and 62% respectively, of the consolidated total liabilities.

2. Summary of Significant Accounting Policies (Continued)

(b)   Principles of Consolidation (Continued)

There are no terms in any arrangements, considering both explicit arrangements and implicit variable interests that require the Company or its subsidiaries to provide financial support to the VIEs. However, if the VIEs were ever to need financial support, the Group may, at its option and subject to statutory limits and restrictions, provide financial support to its VIE through loans to the shareholders of the VIEs.

The Group believes that there are no assets held in the VIEs that can be used only to settle obligations of the VIEs, except for registered capital and the PRC statutory reserves. As the VIEs are incorporated as limited liability companies under the PRC Company Law, creditors of the VIEs do not have recourse to the general credit of the Company for any of the liabilities of the VIEs. Relevant PRC laws and regulations restrict the VIEs from transferring a portion of their net assets, equivalent to the balance of its statutory reserve and its share capital, to the Company in the form of loans and advances or cash dividends.

(c)   Use of Estimates

The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and reported amounts of revenues and expenses during the reporting period. Actual results may differ from these estimates. The Group bases its estimates on historical experience and various other factors believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Significant accounting estimates reflected in the Group's financial statements including but not limited to allowance for doubtful accounts, valuation allowances of deferred tax assets, and valuation of share-based compensation. Actual results may differ materially from those estimates.

(d)   Fair Value

Fair value reflects the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Group considers the principal or most advantageous market in which it would transact and considers assumptions that market participants would use when pricing the assets or liabilities.

The Group applies a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. This guidance specifies a hierarchy of valuation techniques, which is based on whether the inputs into the valuation technique are observable or unobservable. The hierarchy is as follows:

Level 1— Valuation techniques in which all significant inputs are unadjusted quoted prices from active markets for assets or liabilities that are identical to the assets or liabilities being measured.
Level 2— Valuation techniques in which significant inputs include quoted prices from active markets for assets or liabilities that are similar to the assets or liabilities being measured and/or quoted prices for assets or liabilities that are identical or similar to the assets or liabilities being measured from markets that are not active. Also, model-derived valuations in which all significant inputs and significant value drivers are observable in active markets are Level 2 valuation techniques.
Level 3— Valuation techniques in which one or more significant inputs or significant value drivers are unobservable. Unobservable inputs are valuation technique inputs that reflect the Group’s own assumptions about the assumptions that market participants would use in pricing an asset or liability.

The fair value guidance describes three main approaches to measure the fair value of assets and liabilities: (1) market approach; (2) income approach and (3) cost approach. The market approach uses prices and other relevant information generated from market transactions involving identical or comparable assets or liabilities. The income approach uses valuation techniques to convert future amounts to a single present value amount. The measurement is based on the value indicated by current market expectations about those future amounts. The cost approach is based on the amount that would currently be required to replace an asset.

2. Summary of Significant Accounting Policies (Continued)

(d)   Fair Value (Continued)

When available, the Group uses quoted market prices to determine the fair value of an asset or liability. If quoted market prices are not available, the Group will measure fair value using valuation techniques that use, when possible, current market-based or independently sourced market parameters, such as interest rates and currency rates.

Beginning January 1, 2019, the Group’s equity investments without readily determinable fair values, which do not qualify for NAV practical expedient and over which the Group does not have the ability to exercise significant influence through the investments in common stock or in substance common stock, are accounted for under the measurement alternative upon the adoption of Accounting Standards Update ("ASU") 2016-01 Recognition and Measurement of Financial Assets and Liabilities (the "Measurement Alternative"). Under the Measurement Alternative, the carrying value is measured at cost, less any impairment, plus and minus changes resulting from observable price changes in orderly transactions for identical or similar investments. After management’s assessment of each of the long-term investments, management concluded that investments do not have readily determinable fair values, and elects the measurement alternative.

Financial instruments not reported at fair value include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, other current liabilities and short-term bank borrowings. The carrying amounts of these financial instruments as of December 31, 2019 and September 30, 2020 were considered representative of their fair values due to their short-term nature.

(e)   Foreign Currency Translation

The functional currency of the Group is the United States Dollar ("US$"). The functional currency of the subsidiaries and the VIEs in the PRC is Renminbi ("RMB"). The functional currency of all the other subsidiaries is US$.

Foreign currency transactions have been translated into the functional currency at the exchange rates prevailing on the date of transactions. Foreign currency denominated monetary assets and liabilities are re-measured into the functional currency at exchange rates prevailing on the balance sheet date. Exchange gains and losses have been included in the determination of net income.

The Group has chosen the US$ as its reporting currency. Assets and liabilities have been translated using exchange rates prevailing on the balance sheet date. Equity accounts are translated at historical exchange rates. Income statement items have been translated using the average exchange rate for the year. Translation adjustments have been reported as cumulative translation adjustments and are shown as a component of other comprehensive income/loss in the consolidated statements of comprehensive (loss) income and consolidated statements of changes in shareholders’ equity.

(f)   Cash, Cash Equivalents and Restricted Cash

Cash and cash equivalents consist of cash on hand, demand deposits and floating rate financial instruments which are unrestricted as to withdrawal or use, and which have original maturities of three months or less when purchased.

The Group's current-portion restrict cash represents amounts held in Group's bank account as guarantee deposit for payments processing services provided by the bank.

Certain bank accounts were frozen by the PRC local authority in connection with an ongoing investigation of alleged misconducts of third-party advertisers perpetrated on the Group's advertising platform. As of September 30, 2020, cash held in these frozen bank accounts amounted to US$2,472,998. These funds are presented as long-term restricted cash on the consolidated balance sheet as of September 30, 2020 as the Group cannot control the timing of its release. In October 2020, an additional US$18.4 million was deposited into these frozen bank accounts. The Group is still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation.

(g)   Short-term Investments

Short-term investments primarily comprises of the time deposits with banks maturities between three months and one year. The Group states the short-term investments at amortized cost.

2. Summary of Significant Accounting Policies (Continued)

(h)   Revenue Recognition

Mobile Advertising

The Group generates substantially all of its revenue through mobile advertising. As of January 1, 2019, the Group adopted ASU 2014-09 Revenue from Contracts with Customers - Topic 606 and all subsequent ASUs that modified ASC 606. The Group has elected to apply the ASU and all related ASUs under the modified retrospective method to all contracts that were not completed as of January 1, 2019. Results for reporting periods beginning after January 1, 2019 are presented under Topic 606, while prior period amounts are not adjusted and continue to be reported under the accounting standards in effect for the prior period. The Group did not note any effects of applying the new revenue standard as an adjustment to the opening balance of retained earnings at the beginning of 2019.

In order to achieve that core principle, the Company applies the following five-step approach: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when a performance obligation is satisfied.

The Group provides advertising services to customers for promotion of their brands and products through its mobile applications, including a portfolio of content-rich mobile applications. The Group has two general pricing models for its advertising products: cost over a time period and cost for performance basis including per impression basis. For advertising contracts over a time period, the Group generally recognizes revenue ratably over time, because the customer simultaneously receives and consumes the benefits as the Group performs throughout a fixed contract term. For contracts that are charged on the cost for performance basis, the Group charges an agreed-upon fee to its customers determined based on the effectiveness of advertising links, which is typically measured by clicks, transactions, installations, user registrations, and other actions originating from the Group’s mobile applications. Revenue is recognized at a point in time when there is an effective click, transaction, installations, user registrations, and other actions originating from the Group’s mobile applications. For contracts that are charged on the cost per impression basis, the Group recognizes the revenue at a point in time when the impressions are delivered. Revenue for performance-based advertising services is recognized at a point in time when all the revenue recognition criteria are met.

The Group launched in-house developed advertising platform, CooTek Ads, to provide tailored advertising services from late 2019. Customers engaged through CooTek Ads are required to pay a deposit before using Group's services. The deposits received are recorded as deferred revenue on the consolidated balance sheets. The amounts due to the Group are deducted from the deposited amounts when performance criteria have been satisfied.

Others

The Group also generates other revenues through cloud call business, licensing of its Smart Inputs products and membership fee from the users. The revenue is recognized when service is rendered.

2. Summary of Significant Accounting Policies (Continued)

(h) Revenue Recognition (Continued)

Sales Incentives

The Group provides sales incentives to certain customers on the CooTek Ads in the form of sales rebates which entitle them to receive reductions in the price by meeting certain cumulative consumption requirement or replenishing required amount of deposit. The Group accounts for these incentives granted to customers as variable consideration and records it as reduction of revenue. The amount of variable consideration is measured based on the most likely amount of incentives to be. For the nine months ended September 30, 2019 and 2020, the rebates recorded by the Group were nil and US$48,491,685, respectively.

Disaggregation of Revenue

In the following table, revenue is disaggregated by revenue streams and geographic location of customers’ headquarters.

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

Revenue:

Advertising revenue

 

106,575,374

 

337,037,822

Other revenue

2,324,105

2,027,633

Total

 

108,899,479

 

339,065,455

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

USA

51,314,113

11,161,631

PRC

 

55,423,779

 

325,246,386

Others

2,161,587

2,657,438

Total

 

108,899,479

 

339,065,455

Contract Balances

Timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable represent amounts invoiced, and revenue recognized prior to invoicing when the Group has satisfied its performance obligations and has the unconditional right to payment.

2. Summary of Significant Accounting Policies (Continued)

(h) Revenue Recognition (Continued)

Contract liabilities include payments received in advance of performance under the contract or for differences between the amount billed to a customer and the revenue recognized for the completed performance obligation which is presented as deferred revenue on the consolidated balance sheets. Due to the generally short-term duration of the Group’s contracts, the majority of the performance obligations are satisfied in one year. The movements of the Group’s accounts receivable and deferred revenue are as follows:

    

Accounts Receivable

    

Deferred Revenue

US$

US$

Opening Balance at January 1, 2019

23,373,969

344,361

(Decrease) Increase, net

(3,966,005)

239,404

Ending Balance at September 30, 2019

19,407,964

583,765

Opening Balance at January 1, 2020

 

27,254,634

 

3,887,908

Increase, net

1,828,582

809,359

Ending Balance at September 30, 2020

 

29,083,216

 

4,697,267

The Group recognized revenue of US$263,383 and US$3,637,328 by the reducing the balance of deferred revenue in the nine months ended September 30, 2019 and 2020, respectively, which were included in the balance of deferred revenue at the beginning of the each period.

(i)   Sales and Marketing Expenses

Sales and marketing expenses primarily consist of advertising expenses, salaries and benefits of sales and marketing personnel and fees paid to mobile device manufacturers to pre-install the Group’s Smart Input products. Advertising expenses represent payment to the third parties for online user acquisition of the Group’s products via social media and demand-side platforms. Advertising expenses are expensed as sales and marketing expenses when the services are received. Such expenses amounted to US$86,189,395 and US$310,602,100 for the nine months ended September 30, 2019 and 2020, respectively.

(j)   Concentration and Risks

Financial instruments that potentially expose the Group to concentration of credit risk consist primarily of cash and cash equivalents, short-term investments, accounts receivable and prepayments. The Group places its cash and cash equivalents and short-term investments with financial institutions with high-credit ratings and quality. The Group conducts credit evaluations of customers, and generally does not require collateral or other security from its customers. The Group 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 prepayments, the Group performs on-going credit evaluations of the financial condition of these suppliers and has noted no significant credit risk.

2. Summary of Significant Accounting Policies (Continued)

(j)   Concentration and Risks (Continued)

Concentration of Customers

The following customers accounted for 10% or more of revenue:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company A

21,335,698

20

%  

*

*

Company B

 

21,731,172

20

%

*

 

*

Company C

11,088,217

10

%

*

*

Company D

16,873,890

16

%

*

*

Company E

*

*

91,588,390

27

%

The following customers accounted for 10% or more of accounts receivable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company B

17,944,840

62

%  

*

*

Company C

 

4,142,638

 

14

%

*

 

*

Company D

 

3,840,005

 

13

%

*

 

*

Company E

 

*

 

*

 

12,354,156

 

40

%

Company F

 

*

 

*

 

9,824,384

 

32

%

Concentration of Vendors

The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company G

11,080,305

12

%  

*

*

Company H

 

10,853,930

12

%

*

 

*

Company I

*

*

41,804,056

13

%

The following vendors accounted for 10% or more of accounts payable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company H

*

*

8,433,642

13

%

Company J

 

*

 

*

7,378,433

 

11

%

*

Less than 10%.

2. Summary of Significant Accounting Policies (Continued)

(j)   Concentration and Risks (Continued)

Business and Economic Risks

The Group participates in the dynamic and competitive high technology industry and believes that changes in any of the following areas could have a material adverse effect on the Group's future financial position, results of operations and cash flows: changes in the overall demand for services and products; competitive pressures due to existing and new entrants; advances and new trends in new technologies and industry standards; changes in certain strategic relationships or customer relationships; regulatory considerations; copyright regulations; brand maintenance and enhancement; and risks associated with the Company's ability to attract and retain employees necessary to support its growth.

The Group's operations could be adversely affected by significant political, economic and social uncertainties in the PRC.

Foreign Currency Risk

The RMB is not a freely convertible currency. The State Administration for Foreign Exchange in the PRC, under the authority of the Peoples Bank of China, controls the conversion of RMB into other currencies. The value of the RMB is subject to changes in central government policies, international economic and political developments affecting supply and demand in the China Foreign Exchange Trading System market. The Group's cash and cash equivalents and restricted cash denominated in RMB amounted to RMB139,905,845 (amounted to US$20,054,735) and RMB292,519,950 (amounted to US$42,953,841) as of December 31, 2019 and September 30, 2020, respectively.

(k)  Recent Accounting Pronouncements

New accounting pronouncements recently adopted

In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (Topic 820): Disclosure Framework - Changes to the Disclosure Requirements for Fair Value Measurement, which changes certain disclosure requirements, including those related to Level 3 fair value measurements. The provisions of ASU 2018-13 relating to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements, and the narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. The remaining provisions should be applied retrospectively to all periods presented upon their effective date. The Group has adopted this ASU on January 1, 2020, which did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.

In October 2018, the FASB issued ASU 2018-17, Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities. Under the new guidance, to determine whether decision-making fees represent a variable interest, an entity considers indirect interests held through related parties under common control on a proportionate basis, rather than in their entirety. ASU 2018-17 is effective for annual periods beginning after December 15, 2019, including interim periods within those fiscal years, and early adoption is permitted in any interim period. ASU 2018-17 is required to be applied retrospectively from the date the guidance is first applied. The Group has early adopted this ASU on January 1, 2020 and did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.

2. Summary of Significant Accounting Policies (Continued)

(l)  Recent Accounting Pronouncements (Continued)

New accounting pronouncements not yet adopted

In February 2016, the FASB issued ASU 2016-02, Leases (Topic 842), which requires lessees to recognize leases on balance sheet and disclose key information about lease arrangements. The new standard establishes a right-of-use ("ROU") model that requires a lessee to recognize a ROU asset and lease liability on the balance sheet for all leases with terms of longer than 12 months. Leases will be classified as finance or operating, with classification affecting the pattern and classification of expense recognition in the income statement. The standard is effective on January 1, 2019, with early adoption permitted, for public business entity ("PBE"). And it is effective on January 1, 2020 for non-issuers and PBEs that meet the definition of a PBE solely because their financial statements or financial information is included in a filing with the SEC. In July 2018, the FASB issued an update that provided an additional transition option that allows companies to continue applying the guidance under the lease standard in effect at that time in the comparative periods presented in the consolidated financial statements. Companies that elect this option would record a cumulative-effect adjustment to the opening balance of retained earnings on the date of adoption. In November 19, 2019, the FASB issued ASU 2019-10 to amend the effective date for ASU 2016-02 to be January 1, 2021 for non-issuers. The Group as an EGC has elected to adopt the new lease standard as of the effective date applicable to nonissuers and will implement the new lease standard on January 1, 2021 using the modified retrospective method. The modified retrospective approach would not require any transition accounting for leases that expired before the earliest comparative period presented. In addition, the Group will elect the transition practical referred to as the "package of three", 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. The Group is in the process of evaluating the impact on its consolidated financial statements, as well as the impact of adoption on policies, practices, systems and financial statement disclosures. As of September 30, 2020, the Group has US$2.9 million of future minimum operating lease commitments that are not currently recognized on its consolidated balance sheets (see note 13).

In June 2016, the FASB issued ASU 2016-13, Credit Losses, Measurement of Credit Losses on Financial Instruments. This ASU provides more useful information about expected credit losses to financial statement users and changes how entities will measure credit losses on financial instruments and timing of when such losses should be recognized. This ASU is effective for annual and interim periods beginning after December 15, 2019 for the public business entities. Early adoption is permitted for all entities for annual periods beginning after December 15, 2018, and interim periods therein. In November 2019, the FASB issued ASU No. 2019-10 which delayed the effective date of ASU 2016-13 for smaller reporting companies (as defined by the U.S. Securities and Exchange Commission) and other non-SEC reporting entities to fiscal years beginning after December 15, 2022, including interim periods within those fiscal periods. Early adoption is permitted. The Company is currently assessing the impact the guidance will have on its consolidated financial statements.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.20.4
Accounts Receivable, net
9 Months Ended
Sep. 30, 2020
Accounts Receivable, net  
Accounts receivable, net

3. Accounts Receivable, net

Accounts receivable, net, consisted of the following:

    

As of December 31,

    

As of September 30, 

2019

2020

US$

US$

Accounts receivable

 

29,028,826

 

31,044,944

Allowance for doubtful accounts:

 

 

Balance at beginning of the year/period

 

(1,286,120)

 

(1,774,192)

Additions charged to bad debt expense

 

(4,104,458)

 

(322,361)

Write-off

 

3,616,076

 

141,266

Foreign exchange effect

 

310

 

(6,441)

Balance at end of the year/period

 

(1,774,192)

 

(1,961,728)

Accounts receivable, net

 

27,254,634

 

29,083,216

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.20.4
Prepaid Expenses and Other Current Assets
9 Months Ended
Sep. 30, 2020
Prepaid Expenses and Other Current Assets  
Prepaid expenses and other current assets

4. Prepaid Expenses and Other Current Assets

Prepaid expenses and other current assets consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

 

US$

 

US$

Value added tax recoverable

 

3,750,491

 

4,649,736

Other receivables

 

1,575,467

 

3,856,326

Advance to suppliers

 

1,545,793

 

952,760

Others

 

976,043

 

1,305,359

Prepaid expenses and other current assets

 

7,847,794

 

10,764,181

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.20.4
Property and Equipment, net
9 Months Ended
Sep. 30, 2020
Property and Equipment, net  
Property and Equipment, net

5. Property and Equipment, net

Property and equipment, net, consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Electronic equipment

 

9,622,184

 

12,045,523

Office equipment and furniture

 

334,452

 

346,181

Motor vehicles

 

82,470

 

82,470

Leasehold improvements

 

1,410,105

 

1,561,612

Construction in progress

 

76,200

 

Total

 

11,525,411

 

14,035,786

Less: Accumulated depreciation

 

(5,855,562)

 

(8,438,638)

Property and equipment, net

 

5,669,849

 

5,597,148

For the nine months ended September 30, 2019 and 2020 depreciation expenses were US$2,077,516 and US$2,656,359, respectively.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.20.4
Short-term Bank Borrowings
9 Months Ended
Sep. 30, 2020
Short-term Bank Borrowings  
Short-term Bank Borrowings

6. Short-term Bank Borrowings

The Group’s bank borrowings consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Short-term borrowings

 

9,012,645

 

14,822,161

In July 2016, the Group entered into a credit facility agreement with a commercial bank under which the Group can draw-down up to US$6.0 million by October, 2018. In October 2019, the Group renewed the bank credit facility under which the Group can borrow up to US$6.0 million collateralized by its accounts receivable by October, 2020. In 2019, the Group has aggregately drawn down the credit facility of US$7.7 million and repaid US$1.9 million. The weighted average interest rate for borrowings drawn under such credit facility was 5.53% for the year ended December 31, 2019. In June 2020, the Group renewed the bank credit facility under which the Group can borrow up to US$11.0 million collateralized by its accounts receivable by June 2021. The interest rate for this credit facility is the LPR base interest rate plus 1.30%. For the nine months ended September 30, 2020, the Group has aggregately drawn down the credit facility of US$11.1million and repaid US$6.3 million, and the weighted average interest rate for borrowings drawn under such credit facility was 5.15%. The loan contains maximum quarterly net loss as financial covenants which the Group failed to fulfill as of September 30, 2020. The Group is negotiating for the waiver of the financial covenants with the bank.

6. Short-term Bank Borrowings (Continued)

In July 2018, the Group entered into a credit facility agreement with a commercial bank under which the Group can draw-down up to US$4.0 million by July, 2019. In October 2019, the Group renewed the bank credit facility under which the Group can borrow up to US$4.0 million collateralized by its accounts receivable by October 2020. In 2019, the Group has aggregately drawn down the credit facility of US$6.4 million and repaid US$3.2 million. The weighted average interest rate for borrowings drawn under such credit facility was 6.12% for the year ended December 31, 2019. In June 2020, the Group renewed the bank credit facility under which the Group can borrow up to US$4.0 million collateralized by its accounts receivable by June 2021. The interest rate for this credit facility is Libor plus 3.5%, determined on the draw-down date. For the nine months ended September 30, 2020, the Group has aggregately drawn down the credit facility of US$4 million and repaid US$3.2million, and the weighted average interest rate for borrowings drawn under such credit facility was 3.84%. The loan contains maximum quarterly net loss as financial covenants which the Group failed to fulfill as of September 30, 2020. The Group is negotiating for the waiver of the financial covenants with the bank.

As of September 30, 2020, the Group has fully utilized the credit facility.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.20.4
Accrued Expenses and Other Current Liabilities
9 Months Ended
Sep. 30, 2020
Accrued Expenses and Other Current Liabilities  
Accrued Expenses and Other Current Liabilities

7. Accrued Expenses and Other Current Liabilities

Accrued expenses and other current liabilities consisted of the following:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Other tax payables (Note 1)

 

3,239,430

 

4,564,615

Accrued expenses (Note 2)

 

2,106,993

 

4,665,599

Others

 

609,533

 

985,186

Total

 

5,955,956

 

10,215,400

Note 1: Other tax payables as of September 30, 2020, mainly consisted of value-added tax payable of US$4.6 million and other taxes such as individual income tax and stamp duty tax.

Note 2: Accrued expenses mainly consisted of accrued professional service fees and other miscellaneous accrued marketing and operation expenses.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.20.4
Other Operating Income (Loss), net
9 Months Ended
Sep. 30, 2020
Other Operating Income (Loss), net  
Other Operating Income (Loss), net

8. Other Operating Income (Loss), net

Other operating loss, net for the nine months ended September 30, 2020, primarily consisted of government subsidies received by the Group, compensation payment of US$1.6 million to victims of alleged misconducts of certain third-party advertisers perpetrated on the Group's platform that the Group deposited to an escrow account controlled by a local authority conducting investigation on the advertisers and contingent liabilities for intellectual property infringement and unfair competition lawsuits during operations. Other operating income, net for the nine months ended September 30, 2019, primarily consisted of government subsidies received by the Group and contingent liabilities for intellectual property infringement lawsuit during operations.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes Expense
9 Months Ended
Sep. 30, 2020
Income Taxes Expense  
Income Taxes Expense

9. Income Taxes Expense

The current and deferred portion of income tax expenses included in the consolidated statements of operations are as follows:

    

For the nine months ended September 30,

    

2019

    

2020

Current tax expenses

1,714

 

3,200

Deferred tax benefits

 

Total

1,714

 

3,200

The Group’s effective tax rates were nil for the nine months ended September 30, 2019 and 2020, respectively.

The Group recorded a full valuation allowance against deferred tax assets of all its consolidated entities because all entities were in a cumulative loss position as of December 31, 2019 and September 30, 2020. No unrecognized tax benefits and related interest and penalties were recorded in any of the periods presented.

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.20.4
Treasury Shares
9 Months Ended
Sep. 30, 2020
Treasury Shares  
Treasury Shares

10. Treasury Shares

Treasury shares represent shares repurchased by the Group that are no longer outstanding and are held by the Group. For the nine months ended September 30, 2020, under the repurchase plan, the Group had repurchased an aggregate of 64,770,700 ordinary shares on the open market for a total cash consideration of US$8,130,513, which were accounted for as the cost of the treasury shares.

As of September 30, 2020, 135,205,550 treasury shares have been cancelled.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation
9 Months Ended
Sep. 30, 2020
Share-Based Compensation  
Share-Based Compensation

11. Share-Based Compensation

Share Options

The options have a contractual term of ten years. The vesting date starts on the grant date or the commencement date of a participant’s employment agreement. The options vest 20% on each of the five anniversary dates of the vesting date and upon continued employment. In the event of termination of a participant’s employment, the unvested options shall be terminated immediately. The participant’s right to exercise the vested options shall be terminated 2 or 3 months after the termination of the employment.

The Group uses the binomial option pricing model and the following assumptions to estimate the fair value of the options at the date of granted:

    

    

Nine Months ended

Year ended December 31

September 30

2019

2020

Average risk-free rate of interest

 

1.67%

0.67%

Expected volatility

 

42.50%-43.22%

43.18%-43.38%

Dividend yield

 

0%

0%

Contractual term

 

10 years

10 years

Fair value of the underlying shares on the date of option grants

 

0.09-0.10

0.10-0.13

On November 6, 2018, the Board of Directors approved an option modification to reduce the exercise price of certain options granted to employees. All other terms of the share options granted remain unchanged. The modification resulted in incremental compensation cost of US$285,661, of which US$68,530 and US$42,867 was recorded during the nine months ended September 30, 2019 and the nine months ended September 30, 2020, respectively. The remaining US$141,977 will be amortized over the remaining vesting period of the modified options, ranging from the remaining of 2020 to 2021.

11. Share-Based Compensation (Continued)

Share Options (Continued)

The risk-free rate of interest is based on the US Treasury yield curve as of valuation date. Volatility is estimated based on annualized standard deviation of daily stock price return of comparable companies for the period before valuation date and with similar span as the expected expiration term. The Group has never declared or paid any cash dividends on its capital stock, and the Group does not anticipate any dividend payments in the foreseeable future.

A summary of the aggregate option activity and information regarding options outstanding as of September 30, 2020 is as follows:

    

    

Weighted

Number of

average exercise

options

price

US$

Outstanding on January 1, 2020

 

160,800,982

 

0.05

Granted

 

145,572,500

 

0.0002

Forfeited

 

(7,108,508)

 

0.03

Expired

 

 

Exercised

 

(15,220,000)

 

0.04

Outstanding on September 30, 2020

 

284,044,974

 

0.02

Options exercisable on September 30, 2020

 

128,681,130

 

0.05

Vested or expected to vest as of September 30, 2020

 

284,044,974

 

0.02

The weighted average grant date fair values of options granted during the nine months ended September 30, 2019 and the nine months ended September 30, 2020 were US$0.10 and US$0.10, respectively.

For the nine months ended September 30, 2020, 15,220,000 of options were exercised with an aggregate intrinsic value of US$944,105. For the nine months ended September 30, 2019, 8,330,150 of options were exercised with an aggregate intrinsic value of US$545,013.

For the nine months ended September 30, 2019 and 2020 excluding the incremental compensation cost resulted from the modification discussed above, the Group recognized share-based compensation expense of US$439,601 and US$2,292,252, respectively. As of September 30, 2020, there was US$12,686,969 in total unrecognized compensation cost related to non-vested stock options, which is expected to be recognized over a weighted-average period of 3.28 years.

Restricted Share Units

In the nine months ended September 30, 2020, the Group granted to certain employees 1,578,500 Restricted Share Units ("RSUs"). The RSUs have a contractual term of ten years and vest 25% on each anniversary over four years from the grant date. The vesting of these RSUs is conditioned on continued employment. Compensation expense based on fair value is amortized over the requisite service period of award using the straight line vesting attribution method.

11. Share-Based Compensation (Continued)

Restricted Share Units (Continued)

A summary of the RSUs activity for the nine months ended September 30, 2020 is as follows:

    

    

Weighted average

Number of

grant date

restricted shares

fair value

Unvested restricted shares outstanding at January 1, 2020

 

50,725,912

 

0.20

Granted

 

1,578,500

 

0.10

Vested

 

(11,331,332)

 

0.22

Forfeited

 

(11,779,000)

 

0.17

Unvested restricted shares outstanding at September 30, 2020

 

29,194,080

 

0.19

Expected to vest at September 30, 2020

 

29,194,080

 

0.19

The share-based compensation expense related to RSUs of US$2,708,567 and US$1,471,380 were recognized by the Group for the nine months ended September 30, 2019 and 2020, respectively.

As of September 30, 2020, there was US$4,477,292 in unrecognized compensation costs, net of actual forfeitures, related to unvested restricted shares, which is expected to be recognized over a weighted-average period of 2.30 years.

In June 2020, the Group cash settled certain vested share options and RSUs at fair value amounted to US$823,226. Given the transaction is an one-time transaction, negotiated after the award is vested, and not pursuant to a pre-existing right of the Group, the Group accounted for it as a repurchase of equity with amount of cash paid recorded as additional paid in capital.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.20.4
Net Loss Per Share
9 Months Ended
Sep. 30, 2020
Net Loss Per Share  
Net Loss Per Share

12. Net Loss Per Share

Net loss per share was computed by dividing net loss attributable to ordinary shareholders by the weighted average number of ordinary shares outstanding for the nine months ended September 30, 2019 and 2020:

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Numerator:

Net loss—basic and diluted

 

(30,200,182)

 

(28,582,981)

Net loss attributable to ordinary shareholders

 

(30,200,182)

 

(28,582,981)

Shares (Denominator):

 

  

 

  

Weighted average number of ordinary shares outstanding

 

  

 

  

Basic

 

3,163,501,054

 

3,086,630,271

Diluted

 

3,163,501,054

 

3,086,630,271

Net loss earnings per share—basic and diluted

 

(0.01)

 

(0.01)

12. Net Loss Per Share (Continued)

As a result of the Group’s net loss for the nine months ended September 30, 2019 and 2020, diluted net loss per share does not include the following instruments as their inclusion would be antidilutive:

For the nine months ended September 30, 

    

2019

    

2020

Share options

160,139,359

284,044,974

Restricted shares units

 

60,108,963

 

29,194,080

Total

 

220,248,322

 

313,239,054

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.20.4
Commitments and Contingencies
9 Months Ended
Sep. 30, 2020
Commitments and Contingencies.  
Commitments and Contingencies

13. Commitments and Contingencies

Lease Commitments

The Group leases certain office premises under operating leases. The term of each lease agreement vary and may contain renewal options. Rental payments under operating leases are charged to operating expenses on a straight-line basis over the period of the lease based on contract terms. Rental expenses under operating leases for the nine months ended September 30, 2019 and 2020 were US$1,338,427, and US$1,096,762, respectively.

Future lease payments under operating leases as of September 30, 2020 were as follows:

Year ending December 31

    

US$

 

The remaining of 2020

 

494,753

2021

 

1,590,357

2022

 

741,411

2023

 

60,455

Total

 

2,886,976

The Group did not have other significant capital commitments or significant guarantees as of December 31, 2019 and September 30, 2020, respectively.

Contingencies

From time to time, the Group is a party to various legal actions arising in the ordinary course of business. The Group accrues costs associated with these matters when they become probable and the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies are expensed as incurred. The Group's management does not expect any liability from the disposition of such claims and litigation individually or in the aggregate would have a material adverse impact on the Group's consolidated financial position, results of operations and cash flows.

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.20.4
Segment Information
9 Months Ended
Sep. 30, 2020
Segment Information  
Segment Information

14. Segment Information

The Group has only one reportable segment since the Group does not distinguish revenues, costs and expenses between segments in its internal reporting, and reports costs and expenses by nature as a whole.

The Group’s chief operating decision maker, who has been identified as the Chief Executive Officer, reviews the consolidated results when making decisions about allocating resources and assessing performance of the Group as a whole. The Group does not distinguish among markets or segments for the purpose of internal reports.

14. Segment Information (Continued)

Information about the Group’s non-current assets is presented based on the geographical location of the assets as follows:

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

PRC

 

2,655,953

 

4,258,416

USA

 

3,540,740

 

2,661,423

Total

 

6,196,693

 

6,919,839

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.20.4
Subsequent Event
9 Months Ended
Sep. 30, 2020
Subsequent Event  
Subsequent Event

15. Subsequent Event

Pursuant to the repurchase shares program announced on May 18, 2020, 5,486,350 shares (equivalent to 109,727 ADSs) of the Group’s Class A ordinary shares were purchased from October 1, 2020 through December 14, 2020 for a total cash consideration of US$0.5 million from the public market.

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
Basis of Presentation

(a)   Basis of Presentation

The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America ("U.S. GAAP") and applicable rules and regulations of the Securities and Exchange Commission ("SEC"), regarding interim financial reporting, and include all normal and recurring adjustments that management of the Group considers necessary for a fair presentation of its financial position and operating results. Certain information and footnote disclosures normally included in financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. Accordingly, these financial statements should be read in conjunction with the Group’s annual consolidated financial statements and notes thereto, included in the Company’s 2019 Annual Report on Form 20-F filed with the SEC on April 20, 2020, referred to as the Company’s 2019 Annual Report.

Principles of Consolidation

(b)   Principles of Consolidation

The consolidated financial statements include the financial information of the Company, its wholly owned subsidiaries, its consolidated VIEs and VIEs’ subsidiaries. All intercompany balances and transactions have been eliminated upon consolidation.

Applicable PRC laws and regulations currently limit foreign ownership of companies that provide internet content distribution services and any other restrictions. The Company is deemed a foreign legal person under PRC laws and accordingly subsidiaries owned by the Company are not eligible to engage in provisions of internet content or online services. The Group therefore conducts its online business through the following major consolidated VIEs:

Shanghai Chu Bao (CooTek) Information Technology Co., Ltd. ("Chu Bao")
Yingsun Information Technology (Ningbo) Co., Ltd. ("Yingsun")
Shanghai Qiaohan Technology Co., Ltd. ("Qiaohan")
Molihong (Shenzhen) Internet Technology Co., Ltd. ("Molihong")
Shanghai Dengyong Information Technology Co., Ltd. ("Dengyong")

2. Summary of Significant Accounting Policies (Continued)

(b)   Principles of Consolidation (Continued)

The following consolidated financial statement balances and amounts of the Group’s VIEs were included in the accompanying unaudited condensed consolidated financial statements after the elimination of intercompany balances and transactions among the Company, its subsidiaries and its VIEs.

As of December 31,

As of September 30, 

2019

2020

    

US$

    

US$

ASSETS

 

  

 

  

Cash and cash equivalents

 

13,714,304

 

23,294,883

Restricted cash

 

203

 

209

Short-term investments

 

21,502

 

Accounts receivable, net

 

21,582,641

 

23,473,397

Prepaid expense and other assets

 

3,643,649

 

8,569,904

Long term restricted cash

2,472,998

Long-term investments

 

 

146,841

Property and equipment, net

 

496

 

9,231

Intangible assets, net

 

47,122

 

61,020

Other non-current assets

 

 

2,131

Total Assets

 

39,009,917

 

58,030,614

LIABILITIES

 

  

 

  

Accounts payable

 

35,002,827

 

57,304,063

Short-term bank borrowings

 

408,264

 

256,697

Accrued salary and benefits

 

275,091

 

604,020

Accrued expenses and other current liabilities

 

1,385,303

 

3,696,308

Deferred revenue

 

3,658,808

 

1,928,241

Total Liabilities

 

40,730,293

 

63,789,329

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Net revenues

38,276,479

299,205,121

Loss from operations

 

(18,841,315)

 

(94,447)

Net (loss) income

 

(18,823,768)

 

150,325

Net cash (used in) provide by operating activities

 

(6,560,184)

 

18,000,288

Net cash used in investing activities

 

 

(201,320)

Net cash provided by (used in) financing activities

 

44,315

 

(179,412)

The VIEs’ assets are comprised of recognized and unrecognized revenue-producing assets. The recognized revenue producing assets mainly include purchased servers and software, which are presented in the account of "Property and equipment, net" and "Intangible assets, net". The unrecognized revenue-producing assets mainly consist of the Internet Content Provider license ("ICP" license), trademarks, copyrights and registered patents, which are not recognized in the consolidated balance sheets.

Revenues of VIEs included in the consolidated financial statements mainly include revenue of advertising services. The VIEs contributed 35% and 88% of the Group’s consolidated net revenues for the nine months ended September 30, 2019 and 2020, respectively. As of December 31, 2019 and September 30, 2020, the VIEs accounted for an aggregate of 38% and 54% respectively, of the consolidated total assets, and 65% and 62% respectively, of the consolidated total liabilities.

2. Summary of Significant Accounting Policies (Continued)

(b)   Principles of Consolidation (Continued)

There are no terms in any arrangements, considering both explicit arrangements and implicit variable interests that require the Company or its subsidiaries to provide financial support to the VIEs. However, if the VIEs were ever to need financial support, the Group may, at its option and subject to statutory limits and restrictions, provide financial support to its VIE through loans to the shareholders of the VIEs.

The Group believes that there are no assets held in the VIEs that can be used only to settle obligations of the VIEs, except for registered capital and the PRC statutory reserves. As the VIEs are incorporated as limited liability companies under the PRC Company Law, creditors of the VIEs do not have recourse to the general credit of the Company for any of the liabilities of the VIEs. Relevant PRC laws and regulations restrict the VIEs from transferring a portion of their net assets, equivalent to the balance of its statutory reserve and its share capital, to the Company in the form of loans and advances or cash dividends.

Use of Estimates

(c)   Use of Estimates

The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the financial statements and reported amounts of revenues and expenses during the reporting period. Actual results may differ from these estimates. The Group bases its estimates on historical experience and various other factors believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Significant accounting estimates reflected in the Group's financial statements including but not limited to allowance for doubtful accounts, valuation allowances of deferred tax assets, and valuation of share-based compensation. Actual results may differ materially from those estimates.

Fair Value

(d)   Fair Value

Fair value reflects the price that would be received from selling an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. When determining the fair value measurements for assets and liabilities required or permitted to be recorded at fair value, the Group considers the principal or most advantageous market in which it would transact and considers assumptions that market participants would use when pricing the assets or liabilities.

The Group applies a fair value hierarchy that requires an entity to maximize the use of observable inputs and minimize the use of unobservable inputs when measuring fair value. A financial instrument’s categorization within the fair value hierarchy is based upon the lowest level of input that is significant to the fair value measurement. This guidance specifies a hierarchy of valuation techniques, which is based on whether the inputs into the valuation technique are observable or unobservable. The hierarchy is as follows:

Level 1— Valuation techniques in which all significant inputs are unadjusted quoted prices from active markets for assets or liabilities that are identical to the assets or liabilities being measured.
Level 2— Valuation techniques in which significant inputs include quoted prices from active markets for assets or liabilities that are similar to the assets or liabilities being measured and/or quoted prices for assets or liabilities that are identical or similar to the assets or liabilities being measured from markets that are not active. Also, model-derived valuations in which all significant inputs and significant value drivers are observable in active markets are Level 2 valuation techniques.
Level 3— Valuation techniques in which one or more significant inputs or significant value drivers are unobservable. Unobservable inputs are valuation technique inputs that reflect the Group’s own assumptions about the assumptions that market participants would use in pricing an asset or liability.

The fair value guidance describes three main approaches to measure the fair value of assets and liabilities: (1) market approach; (2) income approach and (3) cost approach. The market approach uses prices and other relevant information generated from market transactions involving identical or comparable assets or liabilities. The income approach uses valuation techniques to convert future amounts to a single present value amount. The measurement is based on the value indicated by current market expectations about those future amounts. The cost approach is based on the amount that would currently be required to replace an asset.

2. Summary of Significant Accounting Policies (Continued)

(d)   Fair Value (Continued)

When available, the Group uses quoted market prices to determine the fair value of an asset or liability. If quoted market prices are not available, the Group will measure fair value using valuation techniques that use, when possible, current market-based or independently sourced market parameters, such as interest rates and currency rates.

Beginning January 1, 2019, the Group’s equity investments without readily determinable fair values, which do not qualify for NAV practical expedient and over which the Group does not have the ability to exercise significant influence through the investments in common stock or in substance common stock, are accounted for under the measurement alternative upon the adoption of Accounting Standards Update ("ASU") 2016-01 Recognition and Measurement of Financial Assets and Liabilities (the "Measurement Alternative"). Under the Measurement Alternative, the carrying value is measured at cost, less any impairment, plus and minus changes resulting from observable price changes in orderly transactions for identical or similar investments. After management’s assessment of each of the long-term investments, management concluded that investments do not have readily determinable fair values, and elects the measurement alternative.

Financial instruments not reported at fair value include cash and cash equivalents, restricted cash, short-term investments, accounts receivable, accounts payable, other current liabilities and short-term bank borrowings. The carrying amounts of these financial instruments as of December 31, 2019 and September 30, 2020 were considered representative of their fair values due to their short-term nature.

Foreign Currency Translation

(e)   Foreign Currency Translation

The functional currency of the Group is the United States Dollar ("US$"). The functional currency of the subsidiaries and the VIEs in the PRC is Renminbi ("RMB"). The functional currency of all the other subsidiaries is US$.

Foreign currency transactions have been translated into the functional currency at the exchange rates prevailing on the date of transactions. Foreign currency denominated monetary assets and liabilities are re-measured into the functional currency at exchange rates prevailing on the balance sheet date. Exchange gains and losses have been included in the determination of net income.

The Group has chosen the US$ as its reporting currency. Assets and liabilities have been translated using exchange rates prevailing on the balance sheet date. Equity accounts are translated at historical exchange rates. Income statement items have been translated using the average exchange rate for the year. Translation adjustments have been reported as cumulative translation adjustments and are shown as a component of other comprehensive income/loss in the consolidated statements of comprehensive (loss) income and consolidated statements of changes in shareholders’ equity.

Cash, Cash Equivalents and Restricted Cash

(f)   Cash, Cash Equivalents and Restricted Cash

Cash and cash equivalents consist of cash on hand, demand deposits and floating rate financial instruments which are unrestricted as to withdrawal or use, and which have original maturities of three months or less when purchased.

The Group's current-portion restrict cash represents amounts held in Group's bank account as guarantee deposit for payments processing services provided by the bank.

Certain bank accounts were frozen by the PRC local authority in connection with an ongoing investigation of alleged misconducts of third-party advertisers perpetrated on the Group's advertising platform. As of September 30, 2020, cash held in these frozen bank accounts amounted to US$2,472,998. These funds are presented as long-term restricted cash on the consolidated balance sheet as of September 30, 2020 as the Group cannot control the timing of its release. In October 2020, an additional US$18.4 million was deposited into these frozen bank accounts. The Group is still in the process of cooperating with the relevant authority on such investigation and expect the funds to be released upon the completion of such investigation.

Short-term Investments

(g)   Short-term Investments

Short-term investments primarily comprises of the time deposits with banks maturities between three months and one year. The Group states the short-term investments at amortized cost.

Revenue Recognition

(h)   Revenue Recognition

Mobile Advertising

The Group generates substantially all of its revenue through mobile advertising. As of January 1, 2019, the Group adopted ASU 2014-09 Revenue from Contracts with Customers - Topic 606 and all subsequent ASUs that modified ASC 606. The Group has elected to apply the ASU and all related ASUs under the modified retrospective method to all contracts that were not completed as of January 1, 2019. Results for reporting periods beginning after January 1, 2019 are presented under Topic 606, while prior period amounts are not adjusted and continue to be reported under the accounting standards in effect for the prior period. The Group did not note any effects of applying the new revenue standard as an adjustment to the opening balance of retained earnings at the beginning of 2019.

In order to achieve that core principle, the Company applies the following five-step approach: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price to the performance obligations in the contract, and (5) recognize revenue when a performance obligation is satisfied.

The Group provides advertising services to customers for promotion of their brands and products through its mobile applications, including a portfolio of content-rich mobile applications. The Group has two general pricing models for its advertising products: cost over a time period and cost for performance basis including per impression basis. For advertising contracts over a time period, the Group generally recognizes revenue ratably over time, because the customer simultaneously receives and consumes the benefits as the Group performs throughout a fixed contract term. For contracts that are charged on the cost for performance basis, the Group charges an agreed-upon fee to its customers determined based on the effectiveness of advertising links, which is typically measured by clicks, transactions, installations, user registrations, and other actions originating from the Group’s mobile applications. Revenue is recognized at a point in time when there is an effective click, transaction, installations, user registrations, and other actions originating from the Group’s mobile applications. For contracts that are charged on the cost per impression basis, the Group recognizes the revenue at a point in time when the impressions are delivered. Revenue for performance-based advertising services is recognized at a point in time when all the revenue recognition criteria are met.

The Group launched in-house developed advertising platform, CooTek Ads, to provide tailored advertising services from late 2019. Customers engaged through CooTek Ads are required to pay a deposit before using Group's services. The deposits received are recorded as deferred revenue on the consolidated balance sheets. The amounts due to the Group are deducted from the deposited amounts when performance criteria have been satisfied.

Others

The Group also generates other revenues through cloud call business, licensing of its Smart Inputs products and membership fee from the users. The revenue is recognized when service is rendered.

2. Summary of Significant Accounting Policies (Continued)

(h) Revenue Recognition (Continued)

Sales Incentives

The Group provides sales incentives to certain customers on the CooTek Ads in the form of sales rebates which entitle them to receive reductions in the price by meeting certain cumulative consumption requirement or replenishing required amount of deposit. The Group accounts for these incentives granted to customers as variable consideration and records it as reduction of revenue. The amount of variable consideration is measured based on the most likely amount of incentives to be. For the nine months ended September 30, 2019 and 2020, the rebates recorded by the Group were nil and US$48,491,685, respectively.

Disaggregation of Revenue

In the following table, revenue is disaggregated by revenue streams and geographic location of customers’ headquarters.

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

Revenue:

Advertising revenue

 

106,575,374

 

337,037,822

Other revenue

2,324,105

2,027,633

Total

 

108,899,479

 

339,065,455

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

USA

51,314,113

11,161,631

PRC

 

55,423,779

 

325,246,386

Others

2,161,587

2,657,438

Total

 

108,899,479

 

339,065,455

Contract Balances

Timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable represent amounts invoiced, and revenue recognized prior to invoicing when the Group has satisfied its performance obligations and has the unconditional right to payment.

2. Summary of Significant Accounting Policies (Continued)

(h) Revenue Recognition (Continued)

Contract liabilities include payments received in advance of performance under the contract or for differences between the amount billed to a customer and the revenue recognized for the completed performance obligation which is presented as deferred revenue on the consolidated balance sheets. Due to the generally short-term duration of the Group’s contracts, the majority of the performance obligations are satisfied in one year. The movements of the Group’s accounts receivable and deferred revenue are as follows:

    

Accounts Receivable

    

Deferred Revenue

US$

US$

Opening Balance at January 1, 2019

23,373,969

344,361

(Decrease) Increase, net

(3,966,005)

239,404

Ending Balance at September 30, 2019

19,407,964

583,765

Opening Balance at January 1, 2020

 

27,254,634

 

3,887,908

Increase, net

1,828,582

809,359

Ending Balance at September 30, 2020

 

29,083,216

 

4,697,267

The Group recognized revenue of US$263,383 and US$3,637,328 by the reducing the balance of deferred revenue in the nine months ended September 30, 2019 and 2020, respectively, which were included in the balance of deferred revenue at the beginning of the each period.

Sales and Marketing Expenses

(i)   Sales and Marketing Expenses

Sales and marketing expenses primarily consist of advertising expenses, salaries and benefits of sales and marketing personnel and fees paid to mobile device manufacturers to pre-install the Group’s Smart Input products. Advertising expenses represent payment to the third parties for online user acquisition of the Group’s products via social media and demand-side platforms. Advertising expenses are expensed as sales and marketing expenses when the services are received. Such expenses amounted to US$86,189,395 and US$310,602,100 for the nine months ended September 30, 2019 and 2020, respectively.

Concentration and Risks

(j)   Concentration and Risks

Financial instruments that potentially expose the Group to concentration of credit risk consist primarily of cash and cash equivalents, short-term investments, accounts receivable and prepayments. The Group places its cash and cash equivalents and short-term investments with financial institutions with high-credit ratings and quality. The Group conducts credit evaluations of customers, and generally does not require collateral or other security from its customers. The Group 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 prepayments, the Group performs on-going credit evaluations of the financial condition of these suppliers and has noted no significant credit risk.

2. Summary of Significant Accounting Policies (Continued)

(j)   Concentration and Risks (Continued)

Concentration of Customers

The following customers accounted for 10% or more of revenue:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company A

21,335,698

20

%  

*

*

Company B

 

21,731,172

20

%

*

 

*

Company C

11,088,217

10

%

*

*

Company D

16,873,890

16

%

*

*

Company E

*

*

91,588,390

27

%

The following customers accounted for 10% or more of accounts receivable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company B

17,944,840

62

%  

*

*

Company C

 

4,142,638

 

14

%

*

 

*

Company D

 

3,840,005

 

13

%

*

 

*

Company E

 

*

 

*

 

12,354,156

 

40

%

Company F

 

*

 

*

 

9,824,384

 

32

%

Concentration of Vendors

The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company G

11,080,305

12

%  

*

*

Company H

 

10,853,930

12

%

*

 

*

Company I

*

*

41,804,056

13

%

The following vendors accounted for 10% or more of accounts payable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company H

*

*

8,433,642

13

%

Company J

 

*

 

*

7,378,433

 

11

%

*

Less than 10%.

2. Summary of Significant Accounting Policies (Continued)

(j)   Concentration and Risks (Continued)

Business and Economic Risks

The Group participates in the dynamic and competitive high technology industry and believes that changes in any of the following areas could have a material adverse effect on the Group's future financial position, results of operations and cash flows: changes in the overall demand for services and products; competitive pressures due to existing and new entrants; advances and new trends in new technologies and industry standards; changes in certain strategic relationships or customer relationships; regulatory considerations; copyright regulations; brand maintenance and enhancement; and risks associated with the Company's ability to attract and retain employees necessary to support its growth.

The Group's operations could be adversely affected by significant political, economic and social uncertainties in the PRC.

Foreign Currency Risk

The RMB is not a freely convertible currency. The State Administration for Foreign Exchange in the PRC, under the authority of the Peoples Bank of China, controls the conversion of RMB into other currencies. The value of the RMB is subject to changes in central government policies, international economic and political developments affecting supply and demand in the China Foreign Exchange Trading System market. The Group's cash and cash equivalents and restricted cash denominated in RMB amounted to RMB139,905,845 (amounted to US$20,054,735) and RMB292,519,950 (amounted to US$42,953,841) as of December 31, 2019 and September 30, 2020, respectively.

Recent Accounting Pronouncements

(k)  Recent Accounting Pronouncements

New accounting pronouncements recently adopted

In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (Topic 820): Disclosure Framework - Changes to the Disclosure Requirements for Fair Value Measurement, which changes certain disclosure requirements, including those related to Level 3 fair value measurements. The provisions of ASU 2018-13 relating to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements, and the narrative description of measurement uncertainty should be applied prospectively for only the most recent interim or annual period presented in the initial fiscal year of adoption. The remaining provisions should be applied retrospectively to all periods presented upon their effective date. The Group has adopted this ASU on January 1, 2020, which did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.

In October 2018, the FASB issued ASU 2018-17, Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities. Under the new guidance, to determine whether decision-making fees represent a variable interest, an entity considers indirect interests held through related parties under common control on a proportionate basis, rather than in their entirety. ASU 2018-17 is effective for annual periods beginning after December 15, 2019, including interim periods within those fiscal years, and early adoption is permitted in any interim period. ASU 2018-17 is required to be applied retrospectively from the date the guidance is first applied. The Group has early adopted this ASU on January 1, 2020 and did not have a material impact on its unaudited condensed consolidated financial statements and related disclosures.

2. Summary of Significant Accounting Policies (Continued)

(l)  Recent Accounting Pronouncements (Continued)

New accounting pronouncements not yet adopted

In February 2016, the FASB issued ASU 2016-02, Leases (Topic 842), which requires lessees to recognize leases on balance sheet and disclose key information about lease arrangements. The new standard establishes a right-of-use ("ROU") model that requires a lessee to recognize a ROU asset and lease liability on the balance sheet for all leases with terms of longer than 12 months. Leases will be classified as finance or operating, with classification affecting the pattern and classification of expense recognition in the income statement. The standard is effective on January 1, 2019, with early adoption permitted, for public business entity ("PBE"). And it is effective on January 1, 2020 for non-issuers and PBEs that meet the definition of a PBE solely because their financial statements or financial information is included in a filing with the SEC. In July 2018, the FASB issued an update that provided an additional transition option that allows companies to continue applying the guidance under the lease standard in effect at that time in the comparative periods presented in the consolidated financial statements. Companies that elect this option would record a cumulative-effect adjustment to the opening balance of retained earnings on the date of adoption. In November 19, 2019, the FASB issued ASU 2019-10 to amend the effective date for ASU 2016-02 to be January 1, 2021 for non-issuers. The Group as an EGC has elected to adopt the new lease standard as of the effective date applicable to nonissuers and will implement the new lease standard on January 1, 2021 using the modified retrospective method. The modified retrospective approach would not require any transition accounting for leases that expired before the earliest comparative period presented. In addition, the Group will elect the transition practical referred to as the "package of three", 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. The Group is in the process of evaluating the impact on its consolidated financial statements, as well as the impact of adoption on policies, practices, systems and financial statement disclosures. As of September 30, 2020, the Group has US$2.9 million of future minimum operating lease commitments that are not currently recognized on its consolidated balance sheets (see note 13).

In June 2016, the FASB issued ASU 2016-13, Credit Losses, Measurement of Credit Losses on Financial Instruments. This ASU provides more useful information about expected credit losses to financial statement users and changes how entities will measure credit losses on financial instruments and timing of when such losses should be recognized. This ASU is effective for annual and interim periods beginning after December 15, 2019 for the public business entities. Early adoption is permitted for all entities for annual periods beginning after December 15, 2018, and interim periods therein. In November 2019, the FASB issued ASU No. 2019-10 which delayed the effective date of ASU 2016-13 for smaller reporting companies (as defined by the U.S. Securities and Exchange Commission) and other non-SEC reporting entities to fiscal years beginning after December 15, 2022, including interim periods within those fiscal periods. Early adoption is permitted. The Company is currently assessing the impact the guidance will have on its consolidated financial statements.

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies (Tables)
9 Months Ended
Sep. 30, 2020
Summary of Significant Accounting Policies  
Schedule of consolidated financial statement balances and amounts of the Group's VIEs

As of December 31,

As of September 30, 

2019

2020

    

US$

    

US$

ASSETS

 

  

 

  

Cash and cash equivalents

 

13,714,304

 

23,294,883

Restricted cash

 

203

 

209

Short-term investments

 

21,502

 

Accounts receivable, net

 

21,582,641

 

23,473,397

Prepaid expense and other assets

 

3,643,649

 

8,569,904

Long term restricted cash

2,472,998

Long-term investments

 

 

146,841

Property and equipment, net

 

496

 

9,231

Intangible assets, net

 

47,122

 

61,020

Other non-current assets

 

 

2,131

Total Assets

 

39,009,917

 

58,030,614

LIABILITIES

 

  

 

  

Accounts payable

 

35,002,827

 

57,304,063

Short-term bank borrowings

 

408,264

 

256,697

Accrued salary and benefits

 

275,091

 

604,020

Accrued expenses and other current liabilities

 

1,385,303

 

3,696,308

Deferred revenue

 

3,658,808

 

1,928,241

Total Liabilities

 

40,730,293

 

63,789,329

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Net revenues

38,276,479

299,205,121

Loss from operations

 

(18,841,315)

 

(94,447)

Net (loss) income

 

(18,823,768)

 

150,325

Net cash (used in) provide by operating activities

 

(6,560,184)

 

18,000,288

Net cash used in investing activities

 

 

(201,320)

Net cash provided by (used in) financing activities

 

44,315

 

(179,412)

Schedule of revenue based on revenue streams

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

Revenue:

Advertising revenue

 

106,575,374

 

337,037,822

Other revenue

2,324,105

2,027,633

Total

 

108,899,479

 

339,065,455

Schedule of revenues generated by geographic location of customers' headquarters

For the nine months ended September 30, 

    

2019

    

2020

US$

US$

USA

51,314,113

11,161,631

PRC

 

55,423,779

 

325,246,386

Others

2,161,587

2,657,438

Total

 

108,899,479

 

339,065,455

Schedule of movements in accounts receivable and deferred revenue

    

Accounts Receivable

    

Deferred Revenue

US$

US$

Opening Balance at January 1, 2019

23,373,969

344,361

(Decrease) Increase, net

(3,966,005)

239,404

Ending Balance at September 30, 2019

19,407,964

583,765

Opening Balance at January 1, 2020

 

27,254,634

 

3,887,908

Increase, net

1,828,582

809,359

Ending Balance at September 30, 2020

 

29,083,216

 

4,697,267

Schedule of concentration risk

Concentration of Customers

The following customers accounted for 10% or more of revenue:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company A

21,335,698

20

%  

*

*

Company B

 

21,731,172

20

%

*

 

*

Company C

11,088,217

10

%

*

*

Company D

16,873,890

16

%

*

*

Company E

*

*

91,588,390

27

%

The following customers accounted for 10% or more of accounts receivable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company B

17,944,840

62

%  

*

*

Company C

 

4,142,638

 

14

%

*

 

*

Company D

 

3,840,005

 

13

%

*

 

*

Company E

 

*

 

*

 

12,354,156

 

40

%

Company F

 

*

 

*

 

9,824,384

 

32

%

Concentration of Vendors

The Group uses certain vendors to acquire users and those cost are recorded as sales and marketing expenses. Vendors accounted for 10% or more are listed as below:

For the nine months ended September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company G

11,080,305

12

%  

*

*

Company H

 

10,853,930

12

%

*

 

*

Company I

*

*

41,804,056

13

%

The following vendors accounted for 10% or more of accounts payable:

As of December 31,

As of September 30, 

 

2019

2020

 

    

US$

    

%

    

US$

    

%

 

Company H

*

*

8,433,642

13

%

Company J

 

*

 

*

7,378,433

 

11

%

*

Less than 10%.

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.20.4
Accounts Receivable, net (Tables)
9 Months Ended
Sep. 30, 2020
Accounts Receivable, net  
Schedule of accounts receivable, net

    

As of December 31,

    

As of September 30, 

2019

2020

US$

US$

Accounts receivable

 

29,028,826

 

31,044,944

Allowance for doubtful accounts:

 

 

Balance at beginning of the year/period

 

(1,286,120)

 

(1,774,192)

Additions charged to bad debt expense

 

(4,104,458)

 

(322,361)

Write-off

 

3,616,076

 

141,266

Foreign exchange effect

 

310

 

(6,441)

Balance at end of the year/period

 

(1,774,192)

 

(1,961,728)

Accounts receivable, net

 

27,254,634

 

29,083,216

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.20.4
Prepaid Expenses and Other Current Assets (Tables)
9 Months Ended
Sep. 30, 2020
Prepaid Expenses and Other Current Assets  
Schedule of prepaid expenses and other current assets

    

As of December 31, 

    

As of September 30, 

2019

2020

 

US$

 

US$

Value added tax recoverable

 

3,750,491

 

4,649,736

Other receivables

 

1,575,467

 

3,856,326

Advance to suppliers

 

1,545,793

 

952,760

Others

 

976,043

 

1,305,359

Prepaid expenses and other current assets

 

7,847,794

 

10,764,181

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.20.4
Property and Equipment, net (Tables)
9 Months Ended
Sep. 30, 2020
Property and Equipment, net  
Schedule of property and equipment, net

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Electronic equipment

 

9,622,184

 

12,045,523

Office equipment and furniture

 

334,452

 

346,181

Motor vehicles

 

82,470

 

82,470

Leasehold improvements

 

1,410,105

 

1,561,612

Construction in progress

 

76,200

 

Total

 

11,525,411

 

14,035,786

Less: Accumulated depreciation

 

(5,855,562)

 

(8,438,638)

Property and equipment, net

 

5,669,849

 

5,597,148

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.20.4
Short-term bank borrowings (Tables)
9 Months Ended
Sep. 30, 2020
Short-term Bank Borrowings  
Schedule of bank borrowings

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Short-term borrowings

 

9,012,645

 

14,822,161

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.20.4
Accrued Expenses and Other Current Liabilities (Tables)
9 Months Ended
Sep. 30, 2020
Accrued Expenses and Other Current Liabilities  
Schedule of accrued expenses and other current liabilities

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

Other tax payables (Note 1)

 

3,239,430

 

4,564,615

Accrued expenses (Note 2)

 

2,106,993

 

4,665,599

Others

 

609,533

 

985,186

Total

 

5,955,956

 

10,215,400

Note 1: Other tax payables as of September 30, 2020, mainly consisted of value-added tax payable of US$4.6 million and other taxes such as individual income tax and stamp duty tax.

Note 2: Accrued expenses mainly consisted of accrued professional service fees and other miscellaneous accrued marketing and operation expenses.

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes Expense (Tables)
9 Months Ended
Sep. 30, 2020
Income Taxes Expense  
Summary of current and deferred portion of income tax expenses

    

For the nine months ended September 30,

    

2019

    

2020

Current tax expenses

1,714

 

3,200

Deferred tax benefits

 

Total

1,714

 

3,200

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation (Tables)
9 Months Ended
Sep. 30, 2020
Share-Based Compensation  
Schedule of assumptions used to estimate the fair value of options at the date of granted

    

    

Nine Months ended

Year ended December 31

September 30

2019

2020

Average risk-free rate of interest

 

1.67%

0.67%

Expected volatility

 

42.50%-43.22%

43.18%-43.38%

Dividend yield

 

0%

0%

Contractual term

 

10 years

10 years

Fair value of the underlying shares on the date of option grants

 

0.09-0.10

0.10-0.13

Summary of aggregate option activity and information regarding options outstanding

A summary of the aggregate option activity and information regarding options outstanding as of September 30, 2020 is as follows:

    

    

Weighted

Number of

average exercise

options

price

US$

Outstanding on January 1, 2020

 

160,800,982

 

0.05

Granted

 

145,572,500

 

0.0002

Forfeited

 

(7,108,508)

 

0.03

Expired

 

 

Exercised

 

(15,220,000)

 

0.04

Outstanding on September 30, 2020

 

284,044,974

 

0.02

Options exercisable on September 30, 2020

 

128,681,130

 

0.05

Vested or expected to vest as of September 30, 2020

 

284,044,974

 

0.02

Summary of the RSU activity

A summary of the RSUs activity for the nine months ended September 30, 2020 is as follows:

    

    

Weighted average

Number of

grant date

restricted shares

fair value

Unvested restricted shares outstanding at January 1, 2020

 

50,725,912

 

0.20

Granted

 

1,578,500

 

0.10

Vested

 

(11,331,332)

 

0.22

Forfeited

 

(11,779,000)

 

0.17

Unvested restricted shares outstanding at September 30, 2020

 

29,194,080

 

0.19

Expected to vest at September 30, 2020

 

29,194,080

 

0.19

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.20.4
Net Loss Per Share (Tables)
9 Months Ended
Sep. 30, 2020
Net Loss Per Share  
Schedule of computation of basic and diluted net loss per share

For the nine months ended September 30, 

2019

2020

    

US$

    

US$

Numerator:

Net loss—basic and diluted

 

(30,200,182)

 

(28,582,981)

Net loss attributable to ordinary shareholders

 

(30,200,182)

 

(28,582,981)

Shares (Denominator):

 

  

 

  

Weighted average number of ordinary shares outstanding

 

  

 

  

Basic

 

3,163,501,054

 

3,086,630,271

Diluted

 

3,163,501,054

 

3,086,630,271

Net loss earnings per share—basic and diluted

 

(0.01)

 

(0.01)

Schedule of instruments excluded from calculation of diluted net loss per share

For the nine months ended September 30, 

    

2019

    

2020

Share options

160,139,359

284,044,974

Restricted shares units

 

60,108,963

 

29,194,080

Total

 

220,248,322

 

313,239,054

XML 46 R35.htm IDEA: XBRL DOCUMENT v3.20.4
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 30, 2020
Commitments and Contingencies.  
Schedule of future lease payments under operating leases

Future lease payments under operating leases as of September 30, 2020 were as follows:

Year ending December 31

    

US$

 

The remaining of 2020

 

494,753

2021

 

1,590,357

2022

 

741,411

2023

 

60,455

Total

 

2,886,976

XML 47 R36.htm IDEA: XBRL DOCUMENT v3.20.4
Segment Information (Tables)
9 Months Ended
Sep. 30, 2020
Segment Information  
Schedule of non-current assets based on geographical location of the assets

    

As of December 31, 

    

As of September 30, 

2019

2020

US$

US$

PRC

 

2,655,953

 

4,258,416

USA

 

3,540,740

 

2,661,423

Total

 

6,196,693

 

6,919,839

XML 48 R37.htm IDEA: XBRL DOCUMENT v3.20.4
Organization and Principal Activities (Details)
$ in Millions
Oct. 02, 2018
USD ($)
shares
Oct. 31, 2010
item
Organization and Principal Activities    
Proceeds from initial public offering, net of offering cost of US$2,615,726 | $ $ 45.1  
IPO | Ordinary shares    
Organization and Principal Activities    
Number of shares issued during the period 217,500,000  
IPO | American depositary shares    
Organization and Principal Activities    
Number of shares issued during the period 4,350,000  
Han Xiang    
Organization and Principal Activities    
Number of Investors | item   3
Three Investors | Han Xiang    
Organization and Principal Activities    
Percentage of interest acquired by outside investors   24.24%
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Consolidated financial statement balances and amounts of the Group's VIEs (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
ASSETS      
Cash and cash equivalents $ 58,478,376 $ 56,269,749 $ 59,905,827
Restricted cash 60,209   60,204
Short-term investments 550,025   571,508
Accounts receivable, net 29,083,216   27,254,634
Prepaid expense and other assets 10,764,181   7,847,794
Long term restricted cash 2,472,998    
Long-term Investments 146,841    
Property and equipment, net 5,597,148   5,669,849
Intangible assets, net 419,343   267,736
Other noncurrent assets 756,507   259,108
Assets 108,328,844   101,836,660
LIABILITIES      
Accounts payable 64,805,107   37,877,800
Short-term bank borrowings 14,822,161   9,012,645
Accrued salary and benefits 7,747,460   5,598,425
Accrued expenses and other current liabilities 10,215,400   5,955,956
Deferred revenue 4,697,267   3,887,908
TOTAL LIABILITIES 102,780,862   62,928,297
Net revenues 339,065,455 108,899,479  
Loss from operations (28,793,624) (30,542,293)  
Net (loss) income (28,582,981) (30,200,182)  
Net cash (used in) provided by operating activities 5,969,252 (18,899,694)  
Net cash used in investing activities (2,362,367) (4,097,269)  
Net cash provided by (used in) financing activities (2,937,138) (5,232,595)  
VIEs      
ASSETS      
Cash and cash equivalents 23,294,883   13,714,304
Restricted cash 209   203
Short-term investments     21,502
Accounts receivable, net 23,473,397   21,582,641
Prepaid expense and other assets 8,569,904   3,643,649
Long term restricted cash 2,472,998    
Long-term Investments 146,841    
Property and equipment, net 9,231   496
Intangible assets, net 61,020   47,122
Other noncurrent assets 2,131    
Assets 58,030,614   39,009,917
LIABILITIES      
Accounts payable 57,304,063   35,002,827
Short-term bank borrowings 256,697   408,264
Accrued salary and benefits 604,020   275,091
Accrued expenses and other current liabilities 3,696,308   1,385,303
Deferred revenue 1,928,241   3,658,808
TOTAL LIABILITIES 63,789,329   $ 40,730,293
Net revenues 299,205,121 38,276,479  
Loss from operations (94,447) (18,841,315)  
Net (loss) income 150,325 (18,823,768)  
Net cash (used in) provided by operating activities 18,000,288 (6,560,184)  
Net cash used in investing activities (201,320)    
Net cash provided by (used in) financing activities $ (179,412) $ 44,315  
Percentage of consolidated net revenues 88.00% 35.00%  
Percentage of consolidated total assets 54.00%   38.00%
Percentage of consolidated total liabilities 62.00%   65.00%
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Cash, Cash Equivalents and Restricted Cash (Details) - USD ($)
1 Months Ended
Oct. 31, 2020
Sep. 30, 2020
Cash, Cash Equivalents and Restricted Cash    
Cash held in these frozen bank accounts   $ 2,472,998
Subsequent event    
Cash, Cash Equivalents and Restricted Cash    
Addition in restricted cash $ 18,400,000  
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Revenue Recognition (Details)
9 Months Ended
Sep. 30, 2020
USD ($)
item
Sep. 30, 2019
USD ($)
Revenue Recognition    
Number of general pricing models | item 2  
Sales rebates | $ $ 48,491,685 $ 0
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Disaggregation of Revenue [Line Items]    
Net revenues $ 339,065,455 $ 108,899,479
USA    
Disaggregation of Revenue [Line Items]    
Net revenues 11,161,631 51,314,113
PRC    
Disaggregation of Revenue [Line Items]    
Net revenues 325,246,386 55,423,779
Others    
Disaggregation of Revenue [Line Items]    
Net revenues 2,657,438 2,161,587
Advertising revenue    
Disaggregation of Revenue [Line Items]    
Net revenues 337,037,822 106,575,374
Other revenue    
Disaggregation of Revenue [Line Items]    
Net revenues $ 2,027,633 $ 2,324,105
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Contract Balances (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Accounts Receivable    
Beginning balance $ 27,254,634 $ 23,373,969
(Decrease) Increase, net 1,828,582 (3,966,005)
Ending balance 29,083,216 19,407,964
Deferred Revenue    
Beginning balance 3,887,908 344,361
(Decrease) Increase, net 809,359 239,404
Ending balance 4,697,267 583,765
Revenue recognized included in contract liability at beginning of quarter $ 3,637,328 $ 263,383
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Sales and Marketing Expenses (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Summary of Significant Accounting Policies    
Advertising expenses $ 310,602,100 $ 86,189,395
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Concentration and risks (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Concentration and risks      
Revenues $ 339,065,455 $ 108,899,479  
Accounts receivable, net 29,083,216   $ 27,254,634
Sales and marketing expenses 316,276,383 93,533,363  
Accounts payable 64,805,107   $ 37,877,800
Customer concentration risk | Revenue | Company A      
Concentration and risks      
Revenues   $ 21,335,698  
Concentration risk (as a percent)   20.00%  
Customer concentration risk | Revenue | Company B      
Concentration and risks      
Revenues   $ 21,731,172  
Concentration risk (as a percent)   20.00%  
Customer concentration risk | Revenue | Company C      
Concentration and risks      
Revenues   $ 11,088,217  
Concentration risk (as a percent)   10.00%  
Customer concentration risk | Revenue | Company D      
Concentration and risks      
Revenues   $ 16,873,890  
Concentration risk (as a percent)   16.00%  
Customer concentration risk | Revenue | Company E      
Concentration and risks      
Revenues $ 91,588,390    
Concentration risk (as a percent) 27.00%    
Customer concentration risk | Accounts receivables | Company B      
Concentration and risks      
Concentration risk (as a percent)   62.00%  
Accounts receivable, net   $ 17,944,840  
Customer concentration risk | Accounts receivables | Company C      
Concentration and risks      
Concentration risk (as a percent)   14.00%  
Accounts receivable, net   $ 4,142,638  
Customer concentration risk | Accounts receivables | Company D      
Concentration and risks      
Concentration risk (as a percent)   13.00%  
Accounts receivable, net   $ 3,840,005  
Customer concentration risk | Accounts receivables | Company E      
Concentration and risks      
Concentration risk (as a percent) 40.00%    
Accounts receivable, net $ 12,354,156    
Customer concentration risk | Accounts receivables | Company F      
Concentration and risks      
Concentration risk (as a percent) 32.00%    
Accounts receivable, net $ 9,824,384    
Vendor concentration risk | Sales and marketing expenses | Company G      
Concentration and risks      
Concentration risk (as a percent)   12.00%  
Sales and marketing expenses   $ 11,080,305  
Vendor concentration risk | Sales and marketing expenses | Company H      
Concentration and risks      
Concentration risk (as a percent)   12.00%  
Sales and marketing expenses   $ 10,853,930  
Vendor concentration risk | Sales and marketing expenses | Company I      
Concentration and risks      
Concentration risk (as a percent) 13.00%    
Sales and marketing expenses $ 41,804,056    
Vendor concentration risk | Accounts payable | Company H      
Concentration and risks      
Concentration risk (as a percent) 13.00%    
Accounts payable $ 8,433,642    
Vendor concentration risk | Accounts payable | Company J      
Concentration and risks      
Concentration risk (as a percent) 11.00%    
Accounts payable $ 7,378,433    
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Foreign Currency Risk (Details)
Sep. 30, 2020
USD ($)
Sep. 30, 2020
CNY (¥)
Dec. 31, 2019
USD ($)
Dec. 31, 2019
CNY (¥)
Sep. 30, 2019
USD ($)
Dec. 31, 2018
USD ($)
Foreign Currency Risk [Line Items]            
Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents $ 61,011,583   $ 59,966,031 ¥ 139,905,845 $ 56,269,749 $ 84,859,915
RMB            
Foreign Currency Risk [Line Items]            
Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents $ 42,953,841 ¥ 292,519,950 $ 20,054,735      
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.20.4
Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)
Sep. 30, 2020
USD ($)
Summary of Significant Accounting Policies  
Future minimum operating lease commitments $ 2,886,976
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.20.4
Accounts Receivable, net (Details) - USD ($)
9 Months Ended 12 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Accounts Receivable, net      
Accounts receivable $ 31,044,944   $ 29,028,826
Allowance for doubtful accounts:      
Balance at beginning of the year/period (1,774,192) $ (1,286,120) (1,286,120)
Additions charged to bad debt expense (322,361) $ (4,665,322) (4,104,458)
Write-off 141,266   3,616,076
Foreign exchange effect (6,441)   310
Balance at end of the year/period (1,961,728)   (1,774,192)
Accounts receivable, net $ 29,083,216   $ 27,254,634
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.20.4
Prepaid Expenses and Other Current Assets (Details) - USD ($)
Sep. 30, 2020
Dec. 31, 2019
Prepaid Expenses and Other Current Assets    
Value added tax recoverable $ 4,649,736 $ 3,750,491
Other receivables 3,856,326 1,575,467
Advance to suppliers 952,760 1,545,793
Others 1,305,359 976,043
Prepaid expenses and other current assets $ 10,764,181 $ 7,847,794
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.20.4
Property and Equipment, net (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Property, Plant and Equipment, Net      
Total $ 14,035,786   $ 11,525,411
Less: Accumulated depreciation (8,438,638)   (5,855,562)
Property and equipment, net 5,597,148   5,669,849
Depreciation expenses 2,656,359 $ 2,077,516  
Electronic equipment      
Property, Plant and Equipment, Net      
Total 12,045,523   9,622,184
Office equipment and furniture      
Property, Plant and Equipment, Net      
Total 346,181   334,452
Motor vehicles      
Property, Plant and Equipment, Net      
Total 82,470   82,470
Leasehold improvements      
Property, Plant and Equipment, Net      
Total $ 1,561,612   1,410,105
Construction in Progress      
Property, Plant and Equipment, Net      
Total     $ 76,200
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.20.4
Short-term Bank Borrowings (Details) - USD ($)
1 Months Ended 9 Months Ended 12 Months Ended
Oct. 31, 2019
Sep. 30, 2020
Dec. 31, 2019
Jun. 30, 2020
Jul. 31, 2018
Jun. 30, 2018
Jul. 31, 2016
Credit facility              
Short-term bank borrowings   $ 14,822,161 $ 9,012,645        
Credit facility, 2016              
Credit facility              
Total credit available under this facility $ 6,000,000.0     $ 11,000,000.0     $ 6,000,000.0
Amount borrowed   11,100,000 7,700,000        
Amount repaid   $ 6,300,000 $ 1,900,000        
Variable interest rate (as a percent)   5.15%          
Weighted average interest rate of short-term borrowings (as a percent)     5.53%        
Credit facility, 2018              
Credit facility              
Total credit available under this facility $ 4,000,000.0 $ 4,000,000     $ 4,000,000.0 $ 4,000,000.0  
Amount borrowed     $ 6,400,000        
Amount repaid   $ 3,200,000 $ 3,200,000        
Weighted average interest rate of short-term borrowings (as a percent)   3.84% 6.12%        
PBOC rate, one year | Credit facility, 2016              
Credit facility              
Variable interest rate (as a percent) 1.30%            
PBOC rate, one year | Credit facility, 2018              
Credit facility              
Variable interest rate (as a percent) 3.50%            
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.20.4
Accrued Expenses and Other Current Liabilities (Details) - USD ($)
Sep. 30, 2020
Dec. 31, 2019
Other tax payables $ 4,564,615 $ 3,239,430
Accrued expenses 4,665,599 2,106,993
Others 985,186 609,533
Total 10,215,400 $ 5,955,956
Value-added tax payable $ 4,600,000  
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.20.4
Other Operating Income (Loss), net (Details)
$ in Millions
9 Months Ended
Sep. 30, 2020
USD ($)
Other Operating Income (Loss), net  
Compensation made to local authority in relation to advertisement campaigns $ 1.6
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes Expense - Current and deferred portion of income tax expenses (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Current and deferred portion of income tax expenses    
Current tax expenses $ 3,200 $ 1,714
Total $ 3,200 $ 1,714
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.20.4
Income Taxes Expense (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Income Taxes Expense    
Effective tax rate (as a percent) 0.00% 0.00%
Unrecognized tax benefits $ 0  
Unrecognized tax benefits, interest and penalties $ 0  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.20.4
Treasury Shares (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Repurchase of ordinary shares $ 8,130,513 $ 9,741,378
Cancellation of treasury shares 135,205,550  
Repurchase Plan, Group    
Number of shares repurchased 64,770,700  
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation - Share options (Details)
9 Months Ended
Sep. 30, 2020
USD ($)
item
$ / shares
shares
Sep. 30, 2019
USD ($)
$ / shares
Stock options    
Share-Based Compensation    
Granted (in dollars per share) | $ / shares $ 0.10 $ 0.10
Options granted (in shares) | shares 145,572,500  
Share-based compensation expense | $ $ 2,292,252 $ 439,601
Stock options | 2012 Option Plan    
Share-Based Compensation    
Contractual term 10 years  
Annual vesting percentage 20.00%  
Vesting number of anniversaries | item 5  
Stock options | 2012 Option Plan | Minimum    
Share-Based Compensation    
Participant right to exercise options cease period after termination of employment 2 months  
Stock options | 2012 Option Plan | Maximum    
Share-Based Compensation    
Participant right to exercise options cease period after termination of employment 3 months  
Restricted shares units    
Share-Based Compensation    
Granted (in shares) | shares 1,578,500  
Contractual term 10 years  
Annual vesting percentage 25.00%  
Vesting number of anniversaries | item 4  
Share-based compensation expense | $ $ 1,471,380 $ 2,708,567
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation - Assumptions to estimate the fair value of the options (Details) - USD ($)
9 Months Ended 12 Months Ended 15 Months Ended
Nov. 06, 2018
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Dec. 31, 2021
Share-Based Compensation          
Average risk-free rate of interest   0.67%   1.67%  
Dividend yield (as a percent)   0.00%   0.00%  
Incremental compensation cost $ 285,661 $ 42,867 $ 68,530   $ 141,977
Stock options          
Share-Based Compensation          
Expected volatility, minimum (as a percent)   43.18%   42.50%  
Expected volatility, maximum (as a percent)   43.38%   43.22%  
Contractual term   10 years   10 years  
Fair value of the underlying shares on the date of option grants, minimum (in dollars per share)   $ 0.10   $ 0.09  
Fair value of the underlying shares on the date of option grants, maximum (in dollars per share)   $ 0.13   $ 0.10  
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation - Summary of aggregate option activity (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Stock options    
Number of options    
Outstanding at beginning of the year (in shares) 160,800,982  
Granted (in shares) 145,572,500  
Forfeited (in shares) (7,108,508)  
Options exercised (in shares) 15,220,000 8,330,150
Outstanding at end of the year (in shares) 284,044,974  
Exercisable on end of the year (in shares) 128,681,130  
Vested or expected to vest (in shares) 284,044,974  
Weighted average exercise price    
Outstanding at beginning of the year (in dollars per share) $ 0.05  
Granted (in dollars per share) 0.0002  
Forfeited (in dollars per share) 0.03  
Exercised (in dollars per share) 0.04  
Outstanding at end of the year (in dollars per share) 0.02  
Exercisable on end of the year (in dollars per share) 0.05  
Vested or expected to vest (in dollars per share) $ 0.02  
Aggregate intrinsic value    
Options exercised aggregate intrinsic value (in dollars) $ 944,105 $ 545,013
Weighted average grant date fair value    
Granted (in dollars per share) $ 0.10 $ 0.10
Unrecognized compensation cost related to non-vested stock options $ 12,686,969  
Weighted-average recognition period for unrecognized compensation cost 3 years 3 months 10 days  
Share-based compensation expense $ 2,292,252 $ 439,601
Restricted shares units    
Number of options    
Vested or expected to vest (in shares) 29,194,080  
Weighted average exercise price    
Vested or expected to vest (in dollars per share) $ 0.19  
Weighted average grant date fair value    
Weighted-average recognition period for unrecognized compensation cost 2 years 3 months 18 days  
Share-based compensation expense $ 1,471,380 $ 2,708,567
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.20.4
Share-Based Compensation - RSU Activity (Details) - Restricted shares units - USD ($)
9 Months Ended
Sep. 30, 2020
Jun. 30, 2020
Number of restricted shares    
Unvested restricted shares outstanding at beginning of the year (in shares) 50,725,912  
Granted (in shares) 1,578,500  
Vested (in shares) 11,331,332  
Forfeited (in shares) 11,779,000  
Unvested restricted shares outstanding at end of the year (in shares) 29,194,080  
Vested or expected to vest (in shares) 29,194,080  
Weighted average grant date fair value    
Unvested restricted shares outstanding at beginning of the year (in dollars per share) $ 0.20  
Granted (in dollars per share) 0.10  
Vested (in dollars per share) 0.22  
Forfeited (in dollars per share) 0.17  
Unvested restricted shares outstanding at end of the year (in dollars per share) 0.19  
Vested or expected to vest (in dollars per share) $ 0.19  
Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options $ 4,477,292 $ 823,226
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.20.4
Net Loss Per Share - Computation of basic and diluted net loss per share (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Numerator:    
Net Loss $ (28,582,981) $ (30,200,182)
Net loss attributable to ordinary shareholders $ (28,582,981) $ (30,200,182)
Shares (Denominator):    
Weighted average number of ordinary shares outstanding, Basic (in shares) 3,086,630,271 3,163,501,054
Weighted average number of ordinary shares outstanding, Diluted (in shares) 3,086,630,271 3,163,501,054
Net loss earnings per share-basic and diluted $ (0.01) $ (0.01)
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.20.4
Net Loss Per Share - Shares outstanding were excluded from the calculation of diluted net loss per ordinary share (Details) - shares
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Number of anti-dilutive securities 313,239,054 220,248,322
Share options    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Number of anti-dilutive securities 284,044,974 160,139,359
Restricted shares units    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Number of anti-dilutive securities 29,194,080 60,108,963
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.20.4
Commitments and Contingencies (Details) - USD ($)
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Commitments and Contingencies.    
Rental expenses under operating leases $ 1,096,762 $ 1,338,427
Future lease payments under operating leases    
The remaining of 2020 494,753  
2021 1,590,357  
2022 741,411  
2023 60,455  
Total $ 2,886,976  
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.20.4
Segment Information (Details)
9 Months Ended
Sep. 30, 2020
USD ($)
segment
Dec. 31, 2019
USD ($)
Segment Information    
Number of reportable segments | segment 1  
Non-current assets $ 6,919,839 $ 6,196,693
PRC    
Segment Information    
Non-current assets 4,258,416 2,655,953
USA    
Segment Information    
Non-current assets $ 2,661,423 $ 3,540,740
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.20.4
Subsequent Event (Details) - USD ($)
$ in Millions
Dec. 31, 2020
May 18, 2020
Subsequent event    
Subsequent Event    
Total cash consideration authorized to be repurchased $ 0.5  
ADS    
Subsequent Event    
Number of shares authorized to be repurchased   109,727
Class A    
Subsequent Event    
Number of shares authorized to be repurchased   5,486,350
XML 76 R9999.htm IDEA: XBRL DOCUMENT v3.20.4
Label Element Value
Restricted Cash us-gaap_RestrictedCash $ 2,533,207
EXCEL 77 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( %N!CU$'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " !;@8]10N;*>NX K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M3L,P#(=?!>7>NNE@AZC+98@32$A, G&+$F^+:/XH,6KW]J1EZX3@ 3C&_N7S M9\F=CD*'A,\I1$QD,=^,KO=9Z+AA1Z(H +(^HE.Y+@E?FON0G*+R3 >(2G^H M T+;-&MP2,HH4C !J[@0F>R,%CJAHI#.>*,7?/Q,_0PS&K!'AYXR\)H#D]/$ M>!K[#JZ "4:87/XNH%F(<_5/[-P!=DZ.V2ZI81CJ837GR@X7^9U*^LS M*:^Q_,I6T"GBAETFOZZV][L')MNF;2K>5OQNQ]>"-^*6OT^N/_RNPBX8N[?_ MV/@B*#OX=1?R"U!+ P04 " !;@8]1F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M %N!CU$6[M5WKP( &X( 8 >&PO=V]R:W-H965T&UL ME9;?;]HP$,>?N[_"RM,F#?*+0JD J=!50UTGUG:;IFD/;G(0JXF=V^KY(,"JKZH@2.;]9" M%E3C5&Y\54J@J74J1L(BJ=,PXK2515%%3NYI"+[=0+ MO?W"+=MDVBSXLTE)-W '^FNYDCCS6Y64%< 5$YQ(6$^]B_!\'EH':_&-P58= MC(E)Y4&(1S-9IE,O,$200Z*-!,7''UA GALEY/C=B'IM3.-X.-ZK7]GD,9D' MJF A\N\LU=G4._-("FM:Y?I6;#]"D]"IT4M$KNPOV=:V\< C2:6T*!IG)"@8 MKY_TJ=F( X=P_()#U#A$EKL.9"DOJ::SB11;(HTUJIF!3=5Z(QSCIBIW6N); MAGYZ=BF2"C=9$\I3\H%KIG=DR>MJXZY-?(U!C*F?-(+S6C!Z07!,;@37F4*Q M%-)__7V$:PFC/>$\<@K>0=DG1$$4./3B-N/8ZL7',CY(D_S\A%9DJ:%0 MOQPQ!FV,@8TQ.!;C?E="UQZZW8>]:P?$:0MQ^CJ(%4@F3'53@F>DD\>MM"_! MFY.3(T48MFQ#IV)STFYAPY26%"$_TZ*3S*VS$.(>'M\NZ*Z@_-V2)WT'W*B% M&[T&;H%[)VF.YR2%)W(-NRX\MU(0!.$H'D3#R(%UUF*=N7.MI#3EO&(J0:P? M0*6SIFZU7B^,>G'HX!JW7./7G;-#L"M<5%U4;JTCQRL,GJ^UX+^@FO_ BUA' MY+[$+JJ#RS9TREP@4EICY733R>$66--<01>*?] ""I ;V^@4243%==T-VM6V MF5[4+>39O.[$-U1N&%&PO M=V]R:W-H965T&ULK5E1;]LX#/XK0C#@-B!=+,F6K:$MD#8Y M+$"OW37=#O>H.$ICS+8R6VG7?W^4X\5I)"L%;B^MY9#41TKD1\GGSZKZ7J^E MU.AGD9?UQ6"M]>;3:%2G:UF(^J/:R!)^6:FJ$!J&U>.HWE12+!NE(A^1(&"C M0F3EX/*\>?>ENCQ76YUGI?Q2H7I;%*)ZN9*Y>KX8X,&O%_?9XUJ;%Z/+\XUX ME'.IOVZ^5# :[:TLLT*6=:9*5,G5Q6",/UW3V"@T$M\R^5P?/"/CRD*I[V8P M6UX, H-(YC+5QH2 ?T_R6N:YL00X?K1&!_LYC>+A\R_K?S;.@S,+4OKR^NYU,;^?3"8*G^=W-;#)^@,'5^&9\>SU%\\_3Z<,M/>RUE66 M:KG#Z\*X,\ .IF:P=/P(H%LJ=*.+]N@B+[KY6E7Z3,NJ0%GY!%"+OD!&UO11 M% 0D.D+I$(MQ%"1NF&P/DWEACM-4;0$8U+%4PG(O1ROV1NM+ M)3&DCL"1QCS&87(4-9<@8SP)>0_B M _[#7L2S4HOR,8,4;E>W'RRV,(28TY >8[7E"(MCRGJ@=M2%R[A M[F%\@\;S.70P3H VA6%3&),D#(\QND1Q0AEC00_,CO)P]*:.),_$(LLSG4&% M?)^5:;Y=9I#2HMCS!@0?I:JL59XMA4GO;[-I#?VB7D-_;KA(;:M:(JT:R6M5 M;$3Y\A%(0Z);I24B[QN@FS AP)7'=..0Y $F+(QZ$'>$ M@_V, Z&MMK"XMZDHZZB)^ZIK(E02P2TBD)UEN MG5N:V#04,AX3=KRC'8(T26+>5]5(QU?$SU>O&Y(3<24V%4%<21)3?MPI.T09 MH93$?>T?.3AR^7G+9HU3L&W^"H%H[2C;Y'77=$9+X,LT<[;QQ.;! M,Y@>3I246 7&)1M1H$VH1CUX.]HD)VESC[=E2VC98&.;2](GB7)5NQ/8IL S M;%8]L7:(2S*$#I?V5$C:L27UL^6.AEXGXK1)1.>UE^N<%\8\.2Z4#D&:F.N* MOII..^*D)XCSN*:C\>T$S3^/[Z>?[VXFT_LY>/#WU]G#OTX/7$SJ/BPX1;V' M!=I1*?53Z74.!RXT]EU;'MQ;TM]:16G'2=3/27<5'%W$OHHZXVF?J B$THJE M2ZSW6$ [!J'^B\9='*]\WG:<0=GOC6-7AJF_#+\ECK%U44Q"J_\X);7#-SKX MC&"^X?PEJL>LK%$N5Z 6?(Q!O]I]%MD-M-HT7Q862FM5-(]K*2 .1@!^7RDX M=K8#\[%B_W'J\C]02P,$% @ 6X&/45_ZVK4Q P %PL !@ !X;"]W M;W)KNRRC MA*0\HBE@9#701NAR@DP54"A^1F3#&VV@4EE0^J0ZU\N!!A41B4D@E 66EV?@T9^"DV^G?5U("&6E M!]6 XW) 8\^ /LDN@ G/@ $-V!$^.1P^)8$,1RH<>>UP7:9>YV_4^1N%G[7' M;Q3+A8S3@ !9$F!)\X58Y;%<70'-4\&[\BL->X6AJI+G(?)LY!AN7W]N)M*A M4:M:Q&;-;%YD/A!5BO/V2N0:R-X.@,\E.^F$[3TL1L 1L\R; _"+=)= MH>>9#FSH6J1636H=))W$F',P.O"6>K53[Z#3'5M&*58Y%\F>@0PS\(SCG'3E M77HYS8DGY["WE?1'JA:H78/:GP,MKP#G(J0L^D.67<#VSOPCT^G!\K>%?9RV M!>_4\,Z7X"/.\VYP9W>%N99E(=QNQU R/4\9.VP=TD=B)"WE]VKV;TC2F1\H$00?/^2PW]8))791U7RH:P- MV]AVT'\HE,JT_4GKKI.CI&WX]ST#'=XT/E\HE6&+QK(-P[+LG1D_1MH&?]\Z MT.&]XXNE@CIVDGWTQTA+>KUQ:E%'QA^8K:.4@YBL9"R\<.07FI6GL+(C:%8< M9!94R&-1T0SER94P)9#/5Y2*MXXZ&]5GX>%?4$L#!!0 ( %N!CU&]J7Z] MQ@4 -@5 8 >&PO=V]R:W-H965T&ULM5A;;]LZ#/XK M0K"'#<@:76S++M( ;=*=4V!KBZ8[>W9B)3%F6SFRTG;_?I2=V(DMN^N OL27 MD-3'CQ1):_PLU<]\(X1&+VF2Y1>#C=;;\]$H7VY$&N9G%3K M4;Y5(HP*I30948R]41K&V6 R+M[=J\E8[G029^)>H7R7IJ'Z=242^7PQ((/# MBX=XO='FQ6@RWH9K,1?Z^_9>P=.HLA+%J5/\W 370RP0202L=3&1 B7)S$526(L 8[_]T8'U9I&\?C^8/U+ MX3PXLPAS,97)CSC2FXN!/T"16(6[1#_(YW_%WB'7V%O*)"]^T?->%@_0Z5 4$:9^4U?-D3<:0 =NP*=*] FPI.AP+;*[#"T1)9X=8LU.%DK.0S4D8: MK)F;@IM"&[R),Q/&N5;P;PQZ>C*]NYU=W\ZO9PCNYG=?;V:7C_ P?X3+M^O; MQSFZ^X+N[J\?+A]O0 !]1M_G,_3QPZ?Q2,/RQLAHN5_JJER*=BP5H&\RTYL< M76>1B$[U1P"[PDX/V*]HK\&YV)XAAH>(8HHM>*9_K$Z"'CBLHI(5]IP.>[>P MZ91X$ME.Y#9V2FVWT#:[ZVG"6( ]UW'=\>CI&'=;DF#?#P*'!Y7D"42G@NCT M0IS*7".Y.L!$'^-LF>RB.%NC?!,J\=GLB @M90IE(@^+C0;BW^YGZ1\D\1ULE5[&V071;"S,* MI=,/.&U ;$L&W/$4\2\\HJ[_=; M9& V*:(51E!PXER;99Y$MPSQ*YA;:G_X8^.H2<'WK8.Q!(A\3E MPR!X-P+]-BV4$9=QUJQ1-DE" NXQ8B@F7OQ5O09H,1CP(;K9)E$0V8RQCSF)TX@NM>CGNINP/7%))5 M80"R9 I5/H%:]FF(,F$M97NCIZ&DW'5P [E%D%*?8=J!^V@&(;VX'Z6&DB-; M!C@A_=/)3:8%I+'>)T5W-C!+D#ESF@74(L>QSSCN M %J/**1_1H'I'&;O#))@N0FSM4 F>T7>#=@V T!&- N638YY#HQ?'8CK48'T MSPI%)BP$?%.)PY;3X4M'^K;' <@&EP?<)TW %E$&=L)%)))2=;=Z:I W;/@W:;%M$H;1A3/RN^E:/!,3O'=4J1[:F/)^ [YO9 M2-TR27_/O KS>&F:(XIDDH2J7*E8P/ZA5IKSCYW%9[C%R6MBIY]M=9^B_7UJ M%B<[#3WWSP'O#;X&^%6Q4\!U@Z*D-X _BM, 0!P^0:F'FE0@S='.#!_@Q#), MEKND;%Y0IHJ2]<9@T[KQT/[&4P>[1&$GK-U*&/8]#U*:MUBSR!(/2BB!WM-! M7=UW:'_?.8YU']YV.^G&:Y%]#6_=?FA_^[FWYOKK$WG.;,U"'6T7%H7'1T1I8*M2Z.#G/XOVEHM7F0 H\I9GA>Q8B5*K.]N6\P1R)F_Y"@K\LN B9PJ[8FG+E0 6 MFZ0\LZGC!';.TL+JMLW81'3;?*VRM(")('*=YTS\ZT/&MQW+M?8#TW29*#U@ M=]LKMH0(U/-J(K!G5RAQFD,A4UX0 8N.U7/O!B[5"2;B=PI;>= F6LH+YZ^Z M\Q!W+$_1[(Q[%O# ) Y[]26.5 M=*S0(C$LV#I34[[]"3M!OL:;\TR:)]F6L8%GD?E:*I[ODI%!GA;EF[WMC#A( MH.Z%!+I+H->28+\FHB"'^F&\C^4H!W2OHTUK "%:W MI.%\(]2ASG,T)#=?SM$:7(WBMLZB?"#7J.QM&%CODKT9DY+T:I"\"LFK1>H- M(R(8+OUSEI>I@4G5&W?3]9VVO3F47QOR@9%?,?+KM7&I"%_@9MY L88:C4&% M&-0B1@DNKN]Z5\9DSG,\JB0SFQW>=!O.22\1_0-=;BOT''HD_S0L\$,_/.] ML^+;K.7[ PH0+".LB F+<7>F4NE_M($]8UGC2EC-$GZZ*^')WW9IZ#;"XU5Q M&N6*,B7%Y9'R%1[^ZQA77>3^YG$_W90=Y*)BZ M?K/5.C;F7* ?>($3G+?&/3APW7K:+ -IG,&Z^8KG:+&\RA?Z/@']?%_HZ38* MPB9M'MMR)LYW/<\[#3>UY<$4^G> M8/Q$O0( 0' 8 >&PO=V]R:W-H M965T&ULK57;;J,P$/T5"^U#*[6%<$M2$:3F4FVEYJ+2=I]= M< );L%G;2=J_W[$A;)HE:!_V!7OL.3-GCC5#L&?\7:2$2/11Y%2,C%3*\M8T M19R2 HL;5A(*-VO&"RS!Y!M3E)S@1(.*W+0MRS<+G%$C#/39BH:?8Y*S_#IVR32G5@AD&)-R0B\J5<<;#,)DJ2%82*C%'$R7ID MW/5N)WWEKQU>,[(71WND*GEC[%T9#\G(L!0ADI-8J@@8EAV9D#Q7@8#&KSJF MT:14P./](?J]KAUJ><."3%C^(TMD.C(&!DK(&F]S^<3VWTE=CZ?BQ2P7^HOV ME:_O&RC>"LF*&@P,BHQ6*_ZH=3@"0)QV@%T#[%. >P;@U !'%UHQTV5-L<1A MP-D><>4-T=1&:Z/14$U&U2M&DL-M!C@93I:+Z6P1S:8(=M'R\6%Z]PQ&] S+ M?+9XCM#R'J[FJZ?9=_![>)VAQV44H6OT$DW1Q;?+P)1 0P4SXSKEN$IIGTDY M1'-&92K0C"8D^8HW@7Y3@WVH86QW!HQ(>8,0%=_\B$:'N3"NEII&KM77AM#[R!/1ST G-WK%:+ MIP/"6KV!W7A^H>^ERBC<$PZ)/";''ZG M!-#;T+D46H=S0N-/)#FF(L?5S$A^0D?!#)+B"E$0BZV1Q!]JH5G>IEJ5S#_2 MHC^P7.]$L;^]KFW;\GI.NU[]II9^9RV3+TJ=>]A^Z\-:[M#Q3VBV>#J6:UO^ MT#LA:AX-E(+PC9ZS IYN2V75E\UI,\KO] 0[.1_#B*\F\I\PU?]ACODFHP+E M9 TAK9L^\.+5S*T,R4H]MMZ8A"&HMRG\I@A7#G"_9DP>#)6@^?&%OP%02P,$ M% @ 6X&/43]V>J9* @ 4 4 !@ !X;"]W;W)K X/*9%!*>2[2@$TV>>,JYZ3:ET\N*Z*4\BI:HD".)ZL MA_.S6G&G3"P>W,9!F*K6<9A+HG:YCF5'P-@HNPY M;>>PL<@VJ38;;A@4= ,1Z-=B+M%R&Y8DRX&K3' B8=US^NV'8=?X6X>W#$IU MM"8FDY40[\9X3GJ.9P0!@U@;!HJ_'0R!,4.$,G[5G$X3T@"/UP?V1YL[YK*B M"H:"_<@2G?:<[PY)8$VW3"]$^01U/K>&+Q9,V2\I:U_/(?%6:9'78%209[SZ MTWU=AR, \IP&^#7 _PSHG@%T:D#')EHILVF-J*9A($5)I/%&-K.PM;%HS";C MYA8C+?$T0YP.A[/I:#R-QB."JVCV\CSJ+]&(EOB;C*?+B,P>\6@R7XR?T._Y M;4Q>9E%$KN94 M^&^)[OG= S_&=X^_Z"G$Y3XH[EZ_S? M$E^(W&TB=VWD[IG(^-#Q&7-\1Q(O*_X@6E*N&*T:*/F)SPL;4JL;HNG^U,55 M]+>6WLR#78CUW!V7\I)'I=D]>IPYR(WM645BL>6ZNM-FMQD+?=L-G_8'."ZJ M[OY#4\V:"96;C"O"8(V47NL;ZI%5_U:&%H5M@970V%!VF>+( VD<\'PMA#X8 M)D S1,/?4$L#!!0 ( %N!CU&XK:\^;0< !$C 8 >&PO=V]R:W-H M965T&ULQ5IM;]LX$OXKA'' M<"Y%H>D1"Z2 (GMO!C=I!>G MN]B/JLS$VLJ23Y*3[K\_4E8LBZ1DI]UBOR26_,QPAC.<>4;RR4N6?RV64I;H MVRI)B]/!LBS7OXQ&1;24J[#XD*UEJKYYS/)56*K+_&E4K',9+BJA53("S_-' MJS!.!V-HBF]9CF62:$W*CO_52@>[-;7@_N=7[9>5\\J9+V$A MQUGR>[PHEZ<#/D +^1ANDO(^>[F6M4-,ZXNRI*C^HIZ^1\ZH,VH:\RI=)6(9G)WGV@G*- M5_KTARKI*GF5)G&JS\>\S-6WL9(KS\9WMY/I[7PZ0>K3_.[CS>3\05W,']2_ M7Z>W#W-T=XG&U^>W5],YNKE%\^OS^^GUW;AS_0$'V>3]"[ M?[T_&97*)JUY%-7K7VS7AX[U[_)%G*J#B8IEF,MBG(1%@L;?H>?"H6?2 MK^=!%9EBH_3,RRSZZI"?]LN?+Q:Q/OAA@M9AO!C&*8K"=5R&B4/7Y0%=4;19 M;9*PE M]Y.,H+AU*KHY7DI5+F:,H6ZE2NM0U[EFB=TE6%.]1G*K;TJ'^NE]] M=\!NCA%T16AV($*9M9DCE?2[S(==YD.EAW;HN9!/<9K&Z9.JKTF81A*%)9K( MZ ,B^#\(/,Q=V;S5R2J=NO<\GX&@0D&?]W/5@:(^M$$3&S0$*@3V@S9PZM#F MT<##F!O(2X=*K/0Q ,[:T"LGE''A>6W@S 9R2@ "T6AL[3_9[3]YX_Z_4X=E M>WS?'Q6+K7[?B$7 B"^$1 '5 4$*/6-?9G82,P8\]C>OK3[ZK:)<']6)=U4C9KD^))XB6I@;J3L[!MDRS]^9Y_>:=R_7FSQ: M*L*#LD>4M8NZJYK[=AJ+@&(2&$=RYMLFF\"6Q<'.XN#[+=Y/:9?U@644\ZF/ M<5>R\9U1O->HN5YRJ'GCHBKWJM:'NBNY^AFW;"" ?=^L:;/#N):I8F>JZ#7U MIB@VU>EW[-YFK1CTLRQ*7274]^I>F<>1;F6=&7$AK(P0QAF?"DUKG8S M,#:WQK1J;1!P8N:3&R>@RZ.FK^/^QM[IT<%-!LLB3HB'6<=IQ$VKP_V];JP3 M(TFJ,ZC-*E]99G<:UQI;E8T ,;J5 \4"HGJS9T;%[FM#C?0AZ'"N:6R8_HAS M!W>=.IH)@,^)Z<3D*&C;BZ8OXO[&J*9M-4LKMK[)P\3,^W4XIS<_(8NV".S+-10^SY*I'-.0K;% ;K@4&Q5G.0)WG?^&1>%^&O6F:1JJ&9^#X$81G1T%;9NX]PBEGVJ]>5P#QV,'CHFC58)-QBQDV^J&C4$_&_NA MD0UL(N73(/""KID-&B(%AXA4L42%+,M$:JJ!ZIGA=4C8T=@P71PU"DW!P91_J?57S'/%IK;%5N*DPR MYD Q'F!B J?$?J Q5$A/=#K7]$W2WS=_15 GQT-G+BA6U-[3 M#Y<[/&[:,.EOPS\RNQ*[SP;!P]MG8$Q&8/54 PMR<'%[;K38P#RBCXUBNJ:ZJ^L?B_P:YFK(*E B'Y6L]R%0H^99ENB8J"QZ1,I)YNMGD[)-1Z3HY)PBJ&5Y MDUS[NC;)BT?>_A9K2F7PM*D;<3E92[G].)N)R9@V];P/1;39%^_R)UOSQSJXMM\4 75/[:WK?P;7:3;!)4=%5TM?S!'_^D>X5B-5_):Z'_#QY[V12$ MRTY(OMD/!@0;UO2?Q=/>$"<#,!H9@/<#\&L'D/T ;;E9CTRK=5/(XNJBY8]! MJZ1A-O6@;:-'@S:L46YO=7XN+F81%U=!9N5_@4[\ 'ED@#[[Q1JY%<-M4 MM'HY?@9@CXCQ ?$G[)UP0;A:4.V=Y 8X< MS4GTM&3,G(58!RO(#1&L6KX)(-W:0K+FH8]7)AD5'SWK1,=U(KU.-++.=TCP MKUP(ES_ZD;$>J;)X=S7%69SA/$,7L]VIB1R2!(P:H@P?)5_ BX_P8B^\&PHU MI61%GZE-%10;WDKVCW[APMQ/EYP@P2G)HBP=(';(A7F"\M"--SGB3;QX[UN^ M8[HR06$,BAH<6#0E#?@JJ'BWE*NN!@>6O&NDT^2)!8M@3)*AO6VQ*$EB$'6C M3X_H4R_ZQ;IHZ505LRHH^08JO!@U=&HCS<(DRO,!5(<<1DF29VZHV1%JYH6J M8C8 ,U=,;+DH:F7A;:NR1#[K0*%_=VP+-"%=X#,+%(H1C@;0;:D]#2T% MIR@*HQ /X\TE2=(P2U.W/= ):Z S"4.W!0-W/:EHH[U!N%S3%DBK;<%_>TLY M%4 .6!%&!)&A @Y)E" ,.3.B 38:8*\&=QILPYOI*P!C&T8<)N%)F=SCM04Q MR=)D#*VA%41>%QK;XGDT+HB]>)3A)(Z'&>*0)"A*LC@9P6EH"?EY"7"V'90A M2&UH"G54+&E#5VS$L)$CH],,HWB(V!:JSRI53_>N M4^S*FC\47>T8M++!\MG9WCDUL3DISI,6ZT(ETPF]OS?[& PZ*S2-!\F METLR@E#!2>XV'#9DA\^0W:DZ8@V=[%32]F! I9 ;NXN\2*C_C4 R[(7][/6M MD%W+H&=Z&R*;G@ 0QC@9*:/8$!3V$]0+&]6\>7@=()N(IHJ(HI&LBPN"./84\QMLW!ACBPGSA>6I4)T1TVE+RMP)?0' FU;1-!MX7]$'VB M;YI1J_4_"ZSH..LF7E\4>W2KGMB0S#SGBD(R6&BXB?BPQ6M;6O#IW2T2,E M%\[:-"<.0LG"/(]'S$<,GY S?-+'JS#.AMW4H7ZZK$,<3 *9$\;6ALDEF:<1 M(NE(1!-#.<1/.8Z*ZBI*3OR._1/.28I(-L3OVFE!',0GP?T2_\G)G)^A%/YW M%2U;"F96;- _J4V]4NM]KYSJ479%K=SS?AB^2L"IGLUB20)6']*%0P[:5(SS M.![SCN$[XN>[^>M5" H)F[('UC3*.3*4&87_J^-@]ZY]=])+0RR^M3F-#%5&;]AZN0^*526ONTI3TN%XS'TO M8G,CQE&$AFYWR,51-N;WR!!HA+UF_4%+L!ZK]]Y-]+6>WY*&_B(__?WDRIO_)]/MUXC/UQ6'Y$A=F9U<7FYH^Z#O=$6@ MSSO[6\'CV^.]\;6^+1V\_X0^SOO;7S--?QG]K6B![D10TQ5,&7Y( 5;;W^_V M7R3?ZBO2)9>2;_3CFA85;94 _+[B7!Z^J 6.M^Q7_P)02P,$% @ 6X&/ M4=F^5 ;T! _0H !D !X;"]W;W)K&ULK5;O M;]LV$/U7".T'4L"U%<=9LRX)D'C=$F!=C*3-]I62SA)1BE1)*H[WU^\=*:O. MD ;[T"^V)/+>W;U[=^3IQKI/OB$*XK'5QI]E30C=V]G,EPVUTD]M1P8K:^M: M&?#JZIGO',DJ&K5Z-L_SGV:M5"8[/XW?5N[\U/9!*T,K)WS?MM)M+TG;S5EV MF.T^W*JZ"?QA=G[:R9KN*'SL5@YOLQ&E4BT9KZP1CM9GV<7AV\L%[X\;[A5M M_-ZSX$P*:S_QRW5UEN4<$&DJ R-(_#W0DK1F((3Q><#,1I=LN/^\0_\MYHY< M"NEI:?5?J@K-67:2B8K6LM?AUFZN:,CGF/%*JWW\%9NT]PB;R]X'VP[&B*!5 M)OW+QX&'/8.3_"L&\\%@'N-.CF*4O\H@ST^=W0C'NX'&#S'5:(W@E.&BW 6' M506[<'[C:FG4/S)19"JQA(9$M;=M)L\U> MB8WT K;6==;)0!5>!&])1N+::^![ 3_OI2L;<E& F0@6/WBZ\ MJI1T\)V^E-9XJU45<>^Q( M-"".0(Q^@CY "/_.]AW#.!)2K*4/KVO43)E:M+90\*W8 MM\&\*U/DZ+C08&^M;0'R'A0/G(FP:X#OFV=%_QJA0@+:R1HH4) MIQO(A-=.@:=G+*?B2J&IW98W<\ QWIBT([M?T@^[Q8$(+YK!LB!LXQI=]#4F M!&J1GZ0D&!!986B6A)_ 3C"_W1 UWNX::>I&*G$%B+\57J"-J!'61AKRT3N5 MC;':UEL4>#H1?X0*)1J-LE<39*Y5J[BL&D556H7M2.ES:EJ1[32-V=Q2UQ?@ MA:-:-LI(X*]NERA= 1QR 2<*3"LHN>JE!G/71MR4P1;D6'Z8!:%Q1 )'#03" M=7T@)LACU'_N%>L"X#(8UZH_A!5-0%*)V07!G=UM;*&>7!G]YRG>*>K\XN^'A M^%!.?%@D6@^-X(CO*T-27K;HT36T\"STS9[JXMP[V>O;(3)*\O@*J1#V]>IF M&&W*^Q[;%Y.CXWR2Y[FX:(E),[A+=-:K@*M12H7#1 4]N& 0Y#,YSI/-_NP8 M&\HZ*.F+]53\B6IUSI9$&-Y1*6R$4(9L<3)#FHP=I;QQ*KY4RI>VA[@B:[L< MN*1>;- PXN/=]XOCZ2&N(UHS1<\=D[.]*PD2K./%B]L!P.EV,GX=[W87Z4KS M97NZ&.+,J16*IFD-TWSZYCA+==V]!-O%"TYA ZY+\;'!_90<;\#ZVMJP>V$' MXXWW_%]02P,$% @ 6X&/46GLPAJ/(0 E&P !D !X;"]W;W)K&UL[5UI<]M&TOXK*&VR*VU!-&^1<9(J6;8WVG*R?BT[ M6^]'D!B2B$$,@T.R\NOWZ>ZY0(*2G*OVPWY(3!%S=/?TW3W@UW>Z_%AME*JC M3]N\J+XYV=3U[JMGSZKE1FV3JJ=WJL"3E2ZW28T_R_6S:E>J).5)V_S9L-^? M/MLF67'R[=?\W=ORVZ]U4^=9H=Z64=5LMTEY_T+E^NZ;D\&)_>)=MM[4],6S M;[_>)6MUH^H/N[+3-5??VL MQGXTZ]G2K/U"UAX>67L>?:^+>E-%KXI4I>WYSP"G W9H@7TQ?'#!&[7K1:-^ M' W[P_X#ZXT<\B->;_0[(]_:;.PV&_-FXS^$T@^O/>Q%3U\^.DW.HA=)E54T M^&VI*E74"BDD\59J<)?;W*BJ189DD>59BF(*%U M%6V26Q4ME"HBZ(9=4F)<1C*WU&6*T0IL76_X;P/-KLRPR"X'/&M5J#+)\WMZ MKG:US*T!RX>" ;FA?1C:RZTJ@5AT>O*A=].+_G%Y^?;D+$J*-$IV.Z"7+'(5 ME0VM2E^6:MWDC!K/IB5OU+(ILSHS(UY]6FZ28JVB*[W=9A7KFM.3FU=7)V9.J"&A$!:F+W " W4I:(4E_@C0+L>I- M4D.("V@]^L*"]H]2-SNF=9:JLHH*M51518<*Y1LET2K)2B*O/R],S+">AVJG MJTRT'3:'YBX3)C;F0$M5O>A*E34T-< 5?6Z'KK2N"UVK*,VJ9:ZK!C,,'C@6 M@QP?2^?I/W3F[J "'O&_S(:#B^>T6]%@F<<9GL BBM%I MJE+5.FZ1B58&2^V2XMZM/>P/YM&E;/".V2<"(&1<\.C\-?;),=D!!B:DYY>0 ME!P#1.L14ZY42;0&F9+JB1OUHM/%&63=R1PXY\KA:$7_<:PMF].N?D#(38:7 M#4@Q\^?=1A,;Z;L"ZU;- OR=)25$4!ZWMOWQ^I40ESX8C%ISP !Y+@*YE$U@ MEG/B-YE7ETE1)4L1>L]R*L]@/GF+9J>+8%,,Q)I>?;Q]=Q7ER=VA!B%1!A6 M":U5DU3"Z!>,5UEMLATA+S!ERDCYKM2WD&:!MX"3A7UKDGD(6EUFBX:)5JGR M-K,($$::F(K$%F.6AN_?>[)&T-VIPIFDI!8,&#FT%30 0,&*#02L;*.2>+EI M$=2F5UN_5Q[/H.F#3]VJY*72NU_? N!=';^H4,G)BYL"F MV.7^'YM637%L\ND/>+[09ZU5S)Q@%0?4_V6)QN=C^YO'P9& _'3FXTJ M?L%_A(BA]Y%5[)PN %[B$.]IO2=0PX[%.I_I84"WX)M&I6>/*IYP+,E[?_2< M><4?^6-JJ2W_R9; J5I&U6E&UBYW8+\#94W2P9Q/._XZ'RA9X5AX,:MLK(U^ MFK("Y-C[0'NV9)5]C5H0Z3EZ?>Z_ETR>E_ OM@N /!K$>X]NR V39_WX8#K; M%__'L._^^'#S!?_W9$!N;EZ]OXFNDFK#J"WI@_JYR6Z3G&DZ&,47@W$\ZH^C MX2@>SL?Q;#:"41/%J,P,K(7_YN!RV+IS$'L+FM\JZV\-!_&D/^1-!\/GEF,K M\LX4=H)VBR,2)QHW&\;3\8 V&U^,XM'\@CSD79*ED?JT(TX0UXKUS>#*=QW, ^X:/D@ I]V -24#0.#IBPV$\G\]X[B$2=OQ@/(UG@/!M M2?Y=?<_P$,EV-$X0&<^GT3P>C@:D*B#XK, %6C/@(AX,A]%T$-/I_8NQ*71Q M;DR=SO ]?!1329Q7VPR70 M*\O7UR_N7Y__>K& MDWF7W+-A'4TP91C/AIAR04<:]Z>C\,P62?$Q6NBR9+FOHG%_%@^G./G)-)[B M)+!BV9 + 1$J!?$%8H<5"<3P JO/!]&4E@5.=JPYM2HX-HMDGB6++)=88!"/ M9A/ -*+3G$_Q:0;Y,)Y6J6X5%!0] JXS/!K$\R%@&UNBO F6&O?C"Y!C.!]% M4W#O;!Z/AO-?+:KV7[B)K!H*LI%;B:L5Q=5_FJS^ +XQE*C#28P#Q I,?CBS->_A2A1W5&NEEO ME8R#(%Y,9V?18-(''2<\C.7HM*E8>Y\Y'PL>C ]Y.-TC!W(ZA5CVX\%LC&7 MJWT#!L M6[K0TS6"E[!SM(7KST'2BE25ALW]A3P^,')3!%^80SD'//"F>&=>17RNPX'1 M_L"(LG<^SJ-(#%$Q[4SN&X6BM&>E5_4= (OASV<(SPA&$XVVS6@C(>W) QKJ MA+\[Z=9.)SV3B'@"CA9TCIHK%TH[#^G*>*1OY:Q*"/V2M?CIR?75VQ/[)X)] MF.)4P<'Y"""6>G=?4C[/!0%86Y$JV"6T7!72@+SD %)#B):[8&Q^Q'DZG,L[ M*T8 EUV2?6_D<6=C[\CLT6+!),61U?#.0:2V^\U;D8_.@0=6'DV^9 1GLR^[ M_:46'$6H %9/U$>L?V@/&[U6.\69V/R^U^6'N/'[R]#LVB)AV(R(0ZF1(DK6 M:\K6U$R!T4S0FHR_;&T86R1;:-6LP2W_T;RI(,MA06)%] MCHKS,!S$E93%>C1Q;4GR M7*I6R(B3./!7$35:]1RP<;/C[ <>VA/M1=_I._!6"9]WY<^9777ZFL86JBT, MLDH[O@--=P MX"TBU0:'L-$Y9^_T*D#.![\+Q 9 R)"Q#H_.:+2-RIT>8"+P2' /I;+8S&B2 M?$)&U36.1B\0H[>SG#0OQOE2.I5%)%!ARV27U28_26,I2>#)0@H=.K]BX?3R M)A&3+D$'9OJD$@+BH^7\^R#W(>D'N[IED#?)';@0,&38J@5KE&K6HYRO(67: ME)6R9#7Y83-S+\-D%,"]_3ITZEI'\$[EZI9$\&A^Q[*!AXH]%X[1R!-DJQ-Q MVM$=A$=,X\]G-A.=PF?PN1!X"9C*6$[#G?3 M6PDG*2M"7DF:$?<6*5 ^79Y%'RK>^Q4U> M*M>(?Q5FL0'Q-OD(<75;,7Q5U6QW0F!FY&2U4H;&DD-7K9C=.D!%VCI*D94H M-1J^G7_<2\MV+>OL%OLB-B9(&SY4#PM7)J A=4IYYKKA1#_GSDFW@+8 OC1L MP9EGAVQ+QA-:G [5TP*4WD "-94O% M;H3$2Q@#3H* CXU#T7TD>+1#)#6^(GFTD^RC:$(ZPII<(-!^DV!YU&L.JO MJ/\HQ&,J(2D98L%1"_SM?XZ!<[JJA 42#MP$H/4BM%G MT&5>=;/#@%'@*[(M/BV%M>L[2J"3:XR%<+PU/ ,HI=I)Y1:]&_ M-YB1*G)&LL**V,JC$\P0ACS"8T;/<)UH1XO5=2 /E,\F,:^#I4-WP)?2#-7( MK<+9D !H! NL.VOH+Y(]@Q\((5*36>):8DB"RBUYH-BZ""0KP&AC4:Z-9DM+ M#8.Q+MNNH]-\UG22KX4\0A%_$.VO$ .@% MF1OCRNT:0VLZG?V137$XEJ&70R/X/4#@]U8A"!:TH5/U$03X80VM]TOBRF[6 MEG5A!?TD0L5%&C;H\ MQ5C#>*I=DZHXU%;EYL)J!2C$FLYO-B+(8OVXRJ4V2 M5X^)3%^_/=;W8EY35CS[N5$NW'/0$28;Q=J-MC14@H\L('2LP9HR("S./22T M''R+#DEE,-4V%@DQ(_=L#J.9AJT2%][+F77.3G>C10^;G17'TMN0#% MVD-:90Q#M^2SS:W>!)#'4;-E,Q3H'K]07,*14TE[>V@-GX96!THV"OY=<*D@ M$7E2?@XF)$O/,&)O_\^A&T;\FHT91XMJ_)R"/[(1CC^? MP"T4/P5?BV"EM$Y9[3-U5NS3FP:8T^V4K'T>&#V-!W2A1(OS>1T S<1\".:V MZ'WHT'@TJDN,S6.C?=DH=^1-]%W1,A#>O?I,LY%YHQ':X16\$*L\IN%15 MRS);,+>52G'"B&Q*J9/E1B)SPT7[6O.HR_=5=#HXLP#;I2@UZE*V]DN>>3HZ M@[VL_% !=F\^H5E9D?%)^M*&:V%S@42"=9OOVT6TK+C5^2WW[(2RQ:%IF?A, M8Z?AW<>"0>MB6Z(>7 %*M$6KIB8BVF"#?,^(DF^Y2X\:NLH(0X3 90JMBK4> M!$N:+25[>.]*%@9C"A^6==+F+7(FV[#T3%='< 0'F\G0T)GT;0[L9!D'#&@A M1,H3CEB$AK[^^!OR77LN;_B,G5+@*7M9?W\E4O>J'66<%.^3^3HJ$S M,VG7N$.1T?%S>. +D>3"$CF001\ZT)7*@MY9,JEUFU;PE6 *+@.,GWD81X M<()CNZ7VFUHO/PJY.7O)T73K8(&&Z5)F5;1AQUG-DY/+F\^4+=%?S ][P^B=U)6<(G,[X.-L-1KYWA?>GT= MEB)?=WCFE8G7;8XD#)Z<([4\5I"/]^O9,?79=13=8Q=JM\KLR5Y1.'Z@)LNN MQ]'JL%%N-EO1;ONH5&=4PD[U9U0<)/]L8SXN0_G^RUOEVRE@\X2E_@T(1JE2K'1.U5 OA<9%G[W_8M'%B8_DN::W$^X!98" M8#V'O9MVI&>O-D3A?)"-[CIV-6D(97MY1??AI$AM$W,8,739PV"[#FB@;;7M M%80&4#4W&QS)2Y9D(\^=/_X8G(_"V"H5FFR*:U)>PX)66O):-A.[=? MVFM5ZA;=@.-(?BI83O2[48W4!Z V=!'FUKJHS^C\ M.XO%07[4=*/ZN>WV"IO..C:5Z<";A'4MVZ@@C@&TV>J,V[=B:>)Z%?1NT09! MIQ8_/][I%53P^1DES#$PCJ@JCPEPA*BY799=Y=ITMO,Q=:IZ7Z&G3@('1L). M(CDQ:9G<273 +AFM*W/X0,%>\)/P?$MZ.R@H<3 E!6_R(JE55;PYVS41R-?? M7-?PN:T;N2H38^D,2N4LF*W_V078[MF^BH126/#[X(4H2Q)F4]A3VXNOZ=I M6/UO=:J(T!4?_66 < -3DYQ;[WKF^!8O2=*G>JEE!/MTL!87L# MXI&:HL->9]NB] PPF8.::N6Q:^$MY)=(!VK0M>/Q:7)H5:357M,+54%=L]Y^ MHY]^K!'$.",=;H?IZS=9[*0@CXW[-K38UIK:2]>VIDBA,OB.5%_TKV6M:2G! MG<*=-,V,'0)6@UEOC#/(N,N_!-9IU93A2.;\%R M-QE<+._9AQQK"EG:C&*+- M)S24S=N2VOB%JTQ5_9LZ2S9GMN^H%5=\KV''5709B)6'T29<*AL7U5*_(B?/ M<9^L:<.LK:P7B*F5SN/AI@1(0!+A#ST;G_?G#EA.]1 B%# :RE_QS4C2%.?1 M>[W+EM&T/Q5[2FE,P K30E84"]H\FTXIWT][7-'H?2](FCC:)6KB-QO*2^_YWO0];24P.W)Q?,Y)JDRJ:UC2&2&7^;!E N,M,# MCB=&4-6M7' ++:&DZ&_]J7#+\!S2C"]5\<4J;NJ0>=(80(=BW;5"W3G&LQNQ M Q4Z6#:13C>8N4KL6S%P5K!\U!Z,DI2JIRM6]-1C,*\:HFEO U!G% MB=9P*"C(R5'&*N@"\HXAKQ1S*K:=%PM+O)SMPJ#Q&=?"*>O8/<92],G[2Q.746"*6R,IK(99!T V(*;T>'G \HZZ^4LD=5W[,L6]K M0Z^G#O<*];6_LNM.UEL"&(QD0??]N&\/"\00JV5"Y0SF#G-$5.^";DL**K_+ M2M3!4+G !'Y\9832-/FW_"*#K3L^RDDF$+%/ Z/AC6'&N M[W<4Z()"+LM %0'P& T+M?Z7]+KB^8A(N)M)AK6U;F_;2 MP)VL;0UT5K7:TVL6DHQSL,(_+.LUMSIFTJI@\1G-='D."#X\\ M+6-^O:LGUT]3IZ[]\B8-YTM5B(:!O(V/%W+;5+(]-HYLM\8[Q][U4^,.CSPM;IY0,G!6\+FK6')&A?E.Q"H)/<*?G,4V M^397 M%382Y94./'E;7S4-D9::RUPW%+F".^P5W-A6WO^SM^W&O7E65*M> #$,W.[5HYF\2M5%>9\? OT31TI\3U M6I#^5Y*0=1"X%*/8RYW),+$@;,U-;"K;P@'&R?";((R0F+HO-SPRP[5:SVQ2 MQ#CLW(C@:+#F]%/:=K>2RM\5L 43']2+(%%BF08Z%(/.W%!6I VK" MH4GEAKX\^Z@H.G6KM$]NH7I/OD>W=V]%%.;"=*D:K6#28Z83_5LO+[/*7EFW9Q@8,M=3( L%)_62!P(=!I4JV(HMK MI7%(._ 9Y^WL-NZT;!)WHY+T9T2,-8OHGW4UD4G;NHH87DGL^OS8OX9^7SU^ MWSBP.)9P X3"DXM)/+H81Z/11=S'?[/AT-R*M:/\-=W1DD'D\FOYJ\_WWD_G!SZ3Y/Z!XG"#(8N:\&@W@P M!>>/!IPYG@!]NL5)Y!A.XN%X&H]F4VNF/!5ISF1V$7PSG5S$X]'LB72U*:+H MA;UA_]ZE2;M\G8Z&_C"Q6MQJTZP;J+E>U^5QG\1W)EMFJS0VVJ^U^R_2(J@Y MH^#W<4ZA#Q>=56?;>RSJIBTV)C2"BZ8+E_'E.XS&'Y(FV#_6I+HC"*N#[E:I MK5 X%XL:TN3Z"@$3HA=<<+!+@ESGM\"CAM_-6G8B\EO46P[DI_AYMV]')$4I3;PY_;9%J-RY_Y9@J[T3N_D;N'_VY/ M%_]6/?8ODQ@T"H,BIOT,JE-&(]B'43R?^J]&=*E[.HA.7ZHEW-.[W)V?!>E!D_3&]&F\/@@XWQ"E6FG.!Q<9>_<[H?OS3C#;#?OW9$F>&^V;6G\>CR?P)>-%.4.* ?SB81F-Z MP4,\G'KU[[W1CAOL8%*JT4UQ*K.1];A&@/D"YGEF'3/V,VW*.,C^'G"M<;1_ MPUUFFZ_I?+?,0UMWY9TY143-FC9#?AIE-E[A-C#N_Z/!K^Q--O]PZQZZ:VYA M50-XU52CQ>1'U5>Z2DHUYL9J5*\O256U:\0JJ M@NCN759]/-9L*&]!TY0EE](AH-!\:MU,&2%*G(5=\2"SN>]5QL6T2Z M&Q0_HQ_1E &4=4U:I0;J=996J*.;[;"U=Y^+NJR,R/F#,%T]YN(KPGML*1:$O:F M&T@5R=6M90CGOXFBAE>-@K&'&J9H7I"#B#_+;ZW\R0>$+\]/[PM3SZ)^KZ57PCR-ZW>YD'_2W>_ MQH=/G^_._7>\Y>A+\__?&UI;[/71\!#1\&@"7V860(.=_^[^_/O![!=U*.T_G@O_T-?C_=',^,*?)UQWQ"BSL0=@.GSDB*_@B0_& M0WC2LV@P/L*#+RDP&//T &Z5=/@&T V#WYK'G.#AA@ZKCJ8P)_<#;D$M5?2><@5Z[E- MC_,GK9=GE/9!''TJ+\_ZW#T M]8-J:HR@E=X1"(YT*XV.JJG;1YD@5%+F4LO_--2#O/#=@^IOFL'T\ M=O(_6T>.R)N#X:#BC/Y,E^N%?6TQOU4>'J/>PD.5<4%086_Y MULJ5]]+[(J&QTO:RW4$/<4F/X@.Y/"AOYLT0 R"NLN^]#%\C%?3J!Z]"\ER< M4.X&B]/U3JX9)^YE))('J&Q/RGZWM;E0>OB&^3A\STSP2SV!N2JI."]!.LEU M6ALIH39Y?S\RJ26#+J4(QD9M=[F^IX2-_Y$!?NV^O.B,@L!UJ>_J3?LN0W#. M2_OB&<,_5'9E#I*J9!@$[315 I;T5BME!4->*,D=V"8B9CV[@;M@Y7>/ MPZY6W[8NDO56:7X]WPOJD*?P:@/YB&V+?F5+ $086^$E@*G#/KSNN'07S]T% MY=HC%[RUKL6/Q.EYM"9)*CCCM3/Z*S8O8D],]:=%;'<(MFO'OK.:.[&H :?A MKF>?WK+$8.0.2?6^3#A O[F' V3OXN]=?7DP;[)_7R*\=H>MB0IA@@M_#T;T M MI,0^GG&Q8L^FE*!]8Z2VBGZ YFG]^$GK:#3Z71&U;L["MJ.3 _ZQ&]IDOC]%-)T3F.5OC* MY$R#4>]\#XED3X_LTKIR\C"H%_'^NRP-A(/^;WF_O#/4^1/.(9SX\)F0:KFG M.SK^2%ZK1?133Z7E_&,,/X7? 613'P[.8EOAG4ZC'IM.97DG>Z W? M\HSW[WVWGO)OB#CS?.U3KUV_6?0L^*4H6*PU_QX6*_.BEA^-W+N67 MIOQP^;VN[Y-R3;=1<[7"U'[O8G(B]6;[1ZUW_+M3"UW#//)'ZC=1)0W <_K- M&?L';>!^B.S;_P!02P,$% @ 6X&/42Y6'>OJ @ ZP8 !D !X;"]W M;W)K&ULI57O;],P$/U73@&A33*+XV1I.]I*+3\$ M'Y"F36.?W>326"1VL5TZ_GO.21L*HYL07YH[Y][SNW/],MT9^]75B!X>VD:[ M651[O[F*8U?4V$IW83:HZ4UE;"L]I78=NXU%67:@MHD%YWG<2J6C^;1;N[;S MJ=GZ1FF\MN"V;2OMCR4V9C>+DNBP<*/6M0\+\7RZD6N\17^WN;:4Q0-+J5K4 M3AD-%JM9M$BNEEFH[PJ^*-RYHQA")RMCOH;D4SF+>!"$#18^,$AZ?,>WV#2! MB&1\VW-&PY8!>!P?V#]TO5,O*^GPK6GN5>GK632.H,1*;AM_8W8?<=_/9> K M3..Z7]CUM>(R@F+KO&GW8%+0*MT_Y<-^#D> ,3\!$'N Z'3W&W4JWTDOYU-K M=F!#-;&%H&NU0Y,XI<.AW'I+;Q7A_'Q1%&:KO8,;+%!]EZL&&6CTT]@3>ZB) MBSW3LF<2)Y@F\-EH7SMXKTLL?\?'I&J0)@[2EN))PEO<7$#*&0@N^!-\Z=!J MVO&E_]7J;]390)UUU-ESU/;Y*3[-E%[ *9UP:A<&A:%;XCR68"KP-4)E&KIN M2J^OX-6+L>#IFW]^+EP@>T=;M2NTD"9LOT3GXO=K=#A_P@1/)D>)X(\J[FY? M_C5^5M#C]D%,&!=C-A9Y$,BSC$VR#!:A>:F+, <+I=FN?+5MR %Z@L5KA66M/D#J/\@=+&&[3*E'"6,#'.62+X>8A'HXPE$W$.B[)4P60<%+6T M:SH';\@L2O*'E0=\( MU"&=4S3.678X)G0K!TCPYAWNK/+XV504IRY.<\5$. M248;Y3F0\9"M:&(@7KU&P*HB.Z->.9SE+,L(?Z0==7E"]:"4XDE.N2 -I_Y/ M($9,7&8L3[-NP..4B20_#.MOUR4^,J 6:0#!9FD8@;[WHF%U:GZ)!-E@1E%^,R#AM;ZU]XLVFL[.5\62.75C3UPAM**#WE3'^D(0-AN_; M_"=02P,$% @ 6X&/4<&ULK57;;MLP#/T5PAOV9,3R+8Z[)$#2;M@>B@4-VCTK-A,; MM2U/4B[[^U&RXZ7#VK7 'A*)U.$YI&C3TZ.0CZI U'"JJT;-G$+K]LKS5%9@ MS=5(M-C0R5;(FFLRYVZ"Z\@+&QE[-R\:93ZUO)>=3L==5V>!*@MK7 M-9<_EUB)X\SQG;/CKMP5VCB\^;3E.URCOF]7DBQO8,G+&AM5B@8D;F?.PK]: M1@9O 0\E'M7%'DPE&R$>C?$UGSG,)(059MHP<%H.>(U598@HC1\]IS-(FL#+ M_9G]LZV=:MEPA=>B^E[FNI@Y$P=RW/)]I>_$\0OV]<2&+Q.5LO]P[+!1X$"V M5UK4?3!E4)=-M_)3?P\7 1/V3$#0!P0V[T[(9GG#-9]/I3B"-&AB,QM;JHVF MY,K&-&6M)9V6%*?G*XDM+W/X=*(V*U3 FQR^Z0(E7.^EQ$;#0BG4:NIIDC-! M7M93+SOJX!GJ%&Y%HPL%GYH<\Z?Q'J4YY!J<X N' MVD/+%_[?VI]H18-69+6B?VCAI9:P6EFOQ9^]YY>IHQ&\NA)X=1Z0"7KSE$8Z MW@(!8"LJ>H7+9G<%']Y- A9^?/.Z4(;L!C.L-Z08^F[OHM;JWD?]_3,L8'YZ M801L,.[7[^WOM0D\\&J/P'-Z($'S$XV53!Q0\DV%$+I)S-PH]2%RQU'J)N&X MOT-"87DP( 6^&R>Q&XT3PD_BL1L&8UCD!]YD"%K0<&O;JD1I@5'L)FD(:1RX MR9AU9 K29.RR*"1 R&(WC-,W-"5Q)U%"I!'XC#@CUY_XY^+^]I1Z%Y.A1KFS M\\_T=M_H;D@,WF'$+KK)\AO>S>=;+G=EHZ#"+86R41([(+N9UQE:M';.;(2F MJ66W!7TF4!H G6^%T&?#" P?GODO4$L#!!0 ( %N!CU& $"46*P, $0' M 9 >&PO=V]R:W-H965T"_B MP_5>Z4^F1;3PW'?2;(+6VN$J#$W58E^:A1I0TDZC=%]:6NI=: :-9>U!?1?R M*,K#OA0RV*Z][5YOUVJTG9!XK\&,?5_JEQOLU'X3Q,'1\$'L6NL,X78]E#M\ M0/MQN->T"F>66O0HC5 2-#:;X#J^NDF=OW?X0^#>G,S!9?*HU">W^*7>!)$+ M"#NLK&,H:7C"6^PZ1T1A?#YP!O.1#G@Z/[+_['.G7!Y+@[>J^U/4MMT$10 U M-N78V0]J_PX/^62.KU*=\5_83[ZK:5<0SF[O-?57VQ 1CR[P)7.VB>=+_FNV9^SIS)YZ]O3_J>5ELFP!%_C.]_!LCT&E MZ-(8BS6H!FR+T*B.;I^0NROXZ8>"1\F;?SU>&T?V%BOL'U%#$K.#B7ID#S9J MU-'';\[_:;QS%ULK*:HO^<.*Y9RSN$@AYBQ*,Y;Q!'YK M&E'AB9>K63-J*>RH$9(D96G&(4ES0L;T#UNEX0E;475HH. L74;'X5T!$:B%D:1RR.,IIE>M0[K]^&?O!1VDGD9NO\1%Q/ROC%?7I?WI=Z)Z2!#AN"1HME%H"> M-'M:6#5XG7Q4EE373UMZYE [!]IOE++'A3M@?CBW?P%02P,$% @ 6X&/ M4>#R+^QW! .! !D !X;"]W;W)K&ULW5AK M;]LV%/TKA+8,&^#J:3M.ZAB(TW7KT&)!LFZ?:>E*(D*1+DE%S7[]+DE;41PG MP](F&_8EHLA[#\]]Z)C,O)/J2M< AGQNN- G06W,^CB*=%Y#0W4HUR!PI92J MH09?517IM0):.*>&1VD<3Z.&,A$LYF[N7"WFLC6<"3A71+=-0]7-$KCL3H(D MV$YT@DLP']?G"M^B'J5@#0C-I" *RI/@-#E>CJV],_B=0:<' M8V(C64EY95_>%2=!; D!A]Q8!(J/:S@#SBT0TOBTP0SZ+:WC<+Q%?^MBQUA6 M5,.9Y'^PPM0GP2P@!92TY>9"=C_#)IZ)QAB0O-5&-AMG9- P MX9_T\R8/ X=9_(!#NG%('6^_D6/YAAJZF"O9$66M$:@OV!G)H5J!(EHPV4U@ELYG#4NVZI7%R-'A)XWL6'R^_W3O^ MN^<@0X/0CT9QDHZFXPE)QJ-9FHZ2:=*[O!/DEY;?6%+3D4N,RR,!@3"8+2:, M))3D.&:&E#1GG)D;0BL%@$ID\.,TM36030,J9Y3[U+?8\(IT-SY4%+CIFK+"KB3AT78E=)W?.:%% MHO0:.5=@BX;%TX8HW! [70W;P>_N$Z-;S,ON_AW2G823[,!Y6H8W0!5V!$K8 MW6ZW@8:^A02X^)^I.$GRU.ILF24^5?5$E!)PZC!*/J.[2B>;%2O]?NVM[JU;+);O&7+PNIB%DX,1W@+L=X2:B. G5 MS,+9^'^IFON.N_L*AMPPMM8PWX5["A5N3Z3[[AW1X#:'FEFY.ZL]TV,/^XM= M/]M?BT_];?#6W-^I/U!5V&PO=V]R:W-H965T2=G9*M\S25.\CTVEDC2>U(DKCN(Q:QF6P M7OJU&[U>JMX*+O%&@^G;ENG'*Q3JN J2X&GA,]\?K%N(ULN.[7&#]K:[T32+ M)I6&MR@-5Q(T[E;!9;*XRAW> _[B>#0G8W"1;)6ZY8+^QG=?P- MQW@*IU2_? M,&8PGPSFWF#^W3+^NO[%#+[- MQ 3'4[CR\'J$BQ-XK>A)&DL$M0-"P4X)>MM<[A?PXP_S-,Y^^>;OI7%B[[#& M=DMFLR01$F\Q+^5)8)*,*J<+\2DCA,DR+,XR]Q#3XLSOG'SB3,Y20$5YS%X_.# MNV>BQY]90Z_R5,9MW6[@33XKJ=P(X2OG=!T(2(9,7Q^<-2X;?L^;GGSFLE8M M>B&'-I:U'32]?71+L\'K=/$R2^<\8R.HTVJ'QE5_,F!0W_.:[AH^NY\M-S55 M="91]69B4GNY0TL7><7121%O4>]\JW&WOI1WJZ;0Z=:/+ MH0A_@0^M["/3>RX-"-P1-9Y=% 'HH3T,$ZLZ7Y*WRE*!]\,#=534#D#[.T4) M&R?.P-2CU_\"4$L#!!0 ( %N!CU%#O/_C1@( #\% 9 >&PO=V]R M:W-H965T\5>W-T)(7_?V;7C!JG0%UZ\MW/.S.SZS'1KW;VO$0D>M3)^EM1$ MS6F:^J)&+?S0-FCX9&V=%L1+5Z6^<2C*2-(JS;/L)-5"FF0^C7LW;CZU&U+2 MX(T#O]%:N-T"E=W.DJ-DOW$KJYK"1CJ?-J+")=)=<^-XE?8JI=1HO+0&'*YG MR=G1Z6(<\!'P4^+6'\PA5+*R]CXL+LM9DH6$4&%!04'P\(#GJ%00XC1^=YI) M'S(0#^=[]6^Q=JYE)3R>6_5+EE3/DDD"):[%1M&MW7['KI[CH%=8Y>,7MBUV M=)Q L?%D=4?F#+0T[2@>NWLX($RR9PAY1\ACWFV@F.4706(^=78++J!9+4QB MJ9'-R4D3'F5)CD\E\VA^334ZN&[0"9*F@DM36(WP_H?U_L, #-(T)8X3T&G1 M:2Y:S?P9S4]P90W5'KZ:$LNG_)3SZY/,]TDN\A<%E]@,890-(,_R[ 6]45_T M*.J-7JGH)T'&?9!Q##)^U9M]67,RA/_+PKLWDSP;?>Z@MH%93=Z8IQ=0V4?T!DV*+&E5UZ6$CW[ MM$"V60FK78QPX>RF&3!1_VW>'L]84?^%M:[D2KI+&@\(U4[/A1S:C:^W:+L@VT2(K2VRX.*VY MPZ$+ #Y?6TO[10C0]\SY'U!+ P04 " !;@8]1ON+,%@X# !L!P &0 M 'AL+W=O91_26DB=3,=! M=FVG8]-Z)35>6W!M70O[>([*+"?)(-D(;N1\X5F03L>-F.,M^N_-M:53VJ&4 MLD;MI-%@L9HD9X.3\Q'K!X4?$I=N9P_,9&;,/1^^EI,DXX!08>$90=#R@!>H M% -1&+_6F$GGD@UW]QOT3X$[<9D)AQ=&_92E7TR2HP1*K$2K_(U9?L$UGP/& M*XQRX0O+J)N3QZ)UWM1K8SK74L=5K-9YV#$XREXPR-<&>8@[.@I17@HOIF-K MEF!9F]!X$Z@&:PI.:B[*K;=T*\G.3[_JPM0(=V*%#CZNJ-8.QZDG9+Y/BS7* M>43)7T YABNC_8(0=(GEOGU*$75AY9NPSO-7 6^QZ<,PZT&>Y=DK>,..YC#@ M#?^9YA[LJ(,=!=C1?V;O=93C/CP'!'<+I!:P%K4'H4MN-J13"8VQH:5-!3(: M>K$"C&:.9:JE.M &/&,8[8R2I? DE7>L3D];BL8RX&P",)!910]5'<" M[]\=Y=GP]*]7>BS!JR:64,>V0&X+H**2ZQG:4-F-?IX-CD.9W^SA8IV3/=*; MRT'O<#""88^F$EQN$L::,]182>_VX ;Y=KTS7JAG<38R+LAG:]HFF!R>$K&J MPC!7@@M*)46R1,OL%:7R;9D(&> "A M6A%'&Y=,Z((*.*M6B4!6&>>H"YV,[@/V)19K2H,=2D^9YED?OAEH-;.9:_G[:778R*(* MD4GMR;N+W4]U%HI#>N[=ICL3L$8[#W.>>;;:QV'82;M?R5FCY,1)BK:'7B)2Y'MZM$1FT1G[X"0BP5.MM%M&DJBY2A*72ZR%&YD&-4=V MQM:"V+5EXAJ+H@B@6B59FEXDM:ATM%J$O5N[6IB65*7QUH)KZUK8YS4JTRVC M<738N*M*27XC62T:4>(&Z;ZYM>PE TM1U:A=9318W"VCZ_'5>NKS0\*?"CMW M8H.O9&O,@W=^%LLH]8)084Z>0?#RB#>HE"=B&?_VG-%PI >>V@?V;Z%VKF4K M'-X8];Z/G=\$4'>.C+U'LP*ZDKW MJWC:?X<3P&7Z!B#; [*@NS\HJ/PB2*P6UG1@?3:S>2.4&M LKM+^4C9D.5HQ MCE:_^29=:Y]A(X5%MTB(27THR?<$ZYX@>X/@,_PRFJ2#K[K XAR?L)A!4790 MM,[>)=Q@,X))&D.69ND[?).APDG@FWRDPC/&Z< X#8S3CW^S]PG&Z0A>D!Q] MU_L6N(_AJ!+X&PWC+5X29B:#G2YQ^E0*.$CD_$2%&<*17< M>&5IL12$8'9P,8WG\S2>IRD8R_K$L6+N4<_CYPV_G1&FT9)I&# M(+)OUV%W&';7?8\?T_M)^4O8LM(.%.X8FH[FLPAL/WUZATP3.GYKB.=',"4/ M;+0^@>,[8^C@^ .&OX#5?U!+ P04 " !;@8]1]1Q.LF@) !"&P &0 M 'AL+W=OSM ML6S::+^Y&6:)NH)'I)R8[OK[]O2.IAY]&TUP,22Q3)X3R_F9'. M]TI_-1LA*G9;Y*5Y/=A4U?;E:&32C2BX&:JM*#&S4KK@%89Z/3);+7AF-Q7Y M* [#V:C@LAQDI7CE+\ *4%^T.5U<:P=V4FLN/] M(W#5LA8WK%W%CQ*\%MLA&XN!5U;.F-_R=1CTA/6M(32WKR$[3X M.*4H&K*'J+D)]G%+ \/^W BF_/V&[P3C+(4%-!R]YCFKA"Z86N%:LH/@V@SM MCITPE2S7+..58*;BNC(,I"M,K34O*S>AM'V2J@(!F K\-!,K'+/%+IG*+9;_ M\Q])',U?&2:*;:X.=B%?:V&W#(]XI)-ARV=TG.#IQC*'^94DWLL2%VT #/8@ MT\P>\X(YC6PTFHKN-1LQ_-:-(,-!&.7_WP]0."HT$5 M0:AR9\6_X=A^ZJV GRZAJ7'43@-"*O\PO+,W#J-%;Q#?7?'0]1*>BHP% YNO M9RLX.]->= G!-?EY-)S-G[4;0CMZ=[M%+@*K.Y7#B+FL#FP2#Z?AL[/)>!C' MW7H,H\0^'2?/V%NYDQF$9 V#]W<,6$-S.C^0 MY0UA2PL%C2F]VUB+&H@1+L["813V!(M">C)NGWPLV0>UL>SGFOC0@B@WB7B2X& MOII@<4*?&>K%E3)0#'IAI=KD;FH.N(*:D+*)Q H M\9=J"W70?MJ'ZE09"T$WU[_$R328S:* AON-!/#AX2P)IO!)BD",)G&0S.9L MSP$:(E6:_#FK-=F%6"TI#HI^'/0=.W">W 3SMQ?'^(40Y(S W ;!G.1T)!B* M)E&PF(,CZ<")%PKX]A_"K9T'HVY] ]%;H:7*&OTZG75(AS.A45JWTJHX(8$] M-@)A.5R1 Q_-@\_?-/#_XB0G]F>L4 ]'J#2VG,L:E[^Y9G^BK#4U,I +M+36 ME)FLQU#8N,,I-(;L2Q?"(-3@9-:11$)#2%J5(^,R_R .95^ M]1ZM155K.T>NQ#5?YL+=EA*AN?))V:MY*?! G#!FO6 OJPTSLI YP-%@-\G@ M(L@#$&ZD]C&&F.BGC@W6EH*,G(D4!$@:C?0F*4H/+.5FPS(/2!8N)( AY5M) M(6"E"5I7=!0S!>9+A;J@="G2LGEHJ8"X36"& LJE(QA(""O^JH9.H._+IFUH MW(NO466LK5&W77U/]J#39>GZ%1>O:RC?>IGW$C0GUB8NXQ'%NR%"9N7&IT;S MX[GL+]L7W).Z/M3V/!S>/.$^K;1 =[JEX;\9.[?Y%@<(YR=S^[&G&:CN=PXG MALXCKY-H%@9)& :+)*9D,(6%'6Q&DVDPG3()Q,@%L3VA*W MH.#U:?WI_JU1G 2S) JB<>CD^N*+--W%#*#)5K /.LR=\QNE4G#M&S=HC-PK MMKO"RG0YMTM)_\]$ +XT0=\O-JO[;$3WIQGBO0>?IV67SGI]@>Q9HK6QA2D" MIS:2@Q8-5IE2QN MT[S.&B,^7C.TU46;)8^*CTR:M#;$.U\B%0<]G*7*85VZC&,SI\M%1T>0-Y>F M$6LR7@2S,&KL'@?Q O_3^-3XEP^XO#T="J6ZA8J&&$$T"Q:SA45R10+698^M M^Z3-N0^N4I5GOC=R2;&M&US11&FV%XM+T1?85B6\C;*S)LJZD@0%=M+TP9]Q M#*"3*+GRX::D+.;;QZ>Y>*?W7M79%*1M]0GDG,X3"XL/'/I\\/GZQ@Q>N!Q, M]T]JYJW-7$<][3KJ?A=M5;)2M?8;6G_JD.?XC8!+K,8S 76#@4R2#5Q%8^]VJKH%[/2/GTOBKR[UH:2>\BA-Y1.NM,QO=4--6F"1SHC]N6FEZ:M&SS M"FI=UJY[$-5&9=]1/3YDE-Z2.Y6'54];;:R^ QA_>DW1N/FW:XM>NCE=K#L= M^":PF>E9[ZFLW31O3^Y2/:JZJCNUQ30,YO$T6$146F#6@T77QK<5P9.V]:N!;^)S M#Q>MN_E.,IA3'85.T2-V%$SFT$'B\W@/$)>''D(]W4=[6>L'D\ $+,TID3#; M1C^&_H#V4M@NV:/3F'>=CY& M5%5.LGB@;Q+6T;L$TJ #B:H?0D"_NDD45),G\1A5THP-V:]0L47IDLX+V9>9IZGDF%Y*V^.50+0BF:!1M'4$ #AQTI905T7:PI"W;-;8O M-&AOYA(*;&WGH$'?.@[O>PL_ZGW7*(1>VZ\WE)=PB/O$T3YM/Q!=NN\BW7+W M=>D/KM>HZU@N5M@:#N?3@9.]&51J:[^2+%55J<+>;@3/A*8%F%\I534#.J#] M;';Q7U!+ P04 " !;@8]10PY3>8P# "+"0 &0 'AL+W=O%T_ MTQ)M$:5(E:3B]M_O2,FRT]9ID +]8%-'WCWWSN-LI_0G4S%FX4LMI)D'E;7- M9129HF(U-2/5,(DG&Z5K:I'4V\@TFM'2"]4B(G$\B6K*9;"8^;T[O9BIU@HN MV9T&T]8UU5^73*C=/$B"_<8]WU;6;42+64.W;,7LA^9.(Q4-*"6OF31<2=!L M,P^ND\MEYO@]PW^<[_8WW'7U94\-NE/C(2UO-@SR DFUH*^R]VOW%>G_&#J]0POA_ MV'6\R32 HC56U;TP6E!SV:WT2Q^'(X$\/B% >@'B[>X4>2MOJ:6+F58[T(X; MT=R'=]5+HW%\ MU%K-UZVE:\' *E :S['/.H!*B9)IXT1MA7"^6A&*/C"-S0>RK=>H3&V^D3. MG6PLE5X97@)>7*(?4'=)9R[I@"FSS$-T>4NF@#(^@9?P^H^" ^K%[YWW,M>-_6&">K],^=V2?/T0FYPBN#%SX6)1<^>V=H*MZ9 M89*33C.23C-D_-#WI^7R]- JRYU9[=,*KPTG.'GE_#Q94E?>@_2,)FD MX3A.PGB<(17GDW#B#+A(X+;W["F>P3=&->9Q>U3S\\[5SENMVL9KNK@RAZYY446'@X7R^TXM%<9/*@M< M%J(MF8??*('CST632V,U5I.T:*-QAUQWK'[.[50KL,$9ZK+<:\&A]?L[R+O[ MJ&-^MG9)4(V;M>:0JPF69SH-T_%1(^99&&=9.+W(X)YA-'CA0ME77BLY1L:) MQ7DXG:1 IF$R18D\AG^5I0(()H!D>9@2 FF2A@3Q7;WU^#^ZVJ.C 8F-O/7/ M '>AMM)VLW+8'5X:U]V /;!WSY1W5&\QAR#8!D7CT<4X -V-_HZPJO'C=JTL M#F__6>%KB6G'@.<;I>R>< J&]]?B?U!+ P04 " !;@8]1=E$>L( $ : M"@ &0 'AL+W=O3%8U-K=SFJO&\OXMCE%372C4U+&B<[8QOIL;1E[%I+L@A*31VG M23*/&ZGT:+,.>[=VLS:=KY6F6RM5Y(]ZL6UG2 M/?G/[:W%*CZA%*HA[931PM+NBO3O[+]B3K3%?>/%;<3E* MF!#5E'M&D/@\T#75-0.!QM\#YNADDA7/_Q_1;X+O\&4K'5V;^D]5^.IRM!R) M@G:RJ_V=V?]*@S\SQLM-[<*OV/>R&2SFG?.F&92Q;I3NO_)QB,.9PC)Y12$= M%-+ NS<46'Z07F[6UNR%96F@\9_@:M &.:4Y*??>XE1!SV^N3=,HCRA[)Z0N MQ+717NF2=*[(K6,/$RP8YP/<50^7O@*W$A\!4#GQLRZH>*X?@]J)7WKD=Y6^ M"7A/[5AD2232)$W>P,M._F8!+_LO_H[?,# ]&9@& ]/_*Z!OPTVRL7@34OQ. M*,IG,I\J$K]8T[6BYC,G_2G,;J=R$NC>1O%^AR19@0:WD@$'\7$ \&0; M* B2>=4?"%E:(C8A'M"_@4HC#R(''4:WI&DO:^!QOP'F#J)8M_+0\_JV.2$M MB;R2MJ1">'-V3H\8/2S!W2NBPL$# #W80D>9@OGRJJ?+S5JP M+A.T:/_@TQ.O$_PKO##Q IIF>TU?UL1E+5"4GIHME/K*G*Q",+A$Q9[@SN?[ M[R=1EBVC:;J(PEG825;S:#%/(X3*M13F47T8BYO.=_;(^E^CY=C+KQD<#4NF M76/2N@OQPW?+-,E^>O']BZ1E1QCT ^4#S(0IOI#E2D"U(+TL#IF(QG433R807F9@GT70V$Y\,QSN-ELMYM%K,GZ'WA5JH M0FCC124?2!A$'?>&*K5"O4K46RY;Q1#Y696;YR)E)RV^= K1F6MG.7H9N*^S M\;R[;JQIA,VX^8J!H(HK"07M MQ+ZB@'T06T* N+_-5FYK"@ZS4=F8+D110P3N2F(&'IJIX. ?U<\<>N= 5^.6#^.C,-#B=+,6 M^E+J@ZB5W*I:(92[$')H%LJUQJE@&W%R'2917DO5]&,0PJJ4X52AFA]4T>HP/Q )%73\G@P^BFW[X*3SM2J"''? M(6OPEL?90"G4#>[^4&Q#FX:$@UHN725VW(;?O%+BL_NZ(0P^?I6P062IO[I/ MNZ>'S_O^OG\2[U]-'S$WE>:BVT$U&2]F(V'[ETB_\*8-M__6>+PEPM\*CS>R M+(#SG3'^N& #I^?@YA]02P,$% @ 6X&/48\(9S-\ P *P@ !D !X M;"]W;W)K&ULI59M;]LV$/XK!VTH-D"U7NW8J6T@ M<;NU'XH&<;M^IJ631$0B-9*JDG_?(R4K3NMDV/;%)(_W/'SNJ#MZW4MUIRM$ M _=-+?3&JXQI+X- 9Q4V3,]DBX)V"JD:9FBIRD"W"EGN0$T=Q&&X"!K&A;== M.]N-VJYE9VHN\$:![IJ&J8=KK&6_\2+O:+CE966L(=BN6U;B'LV7]D;1*IA8 M0@Y9U=?,@W7F@%88V9L0R,AF^X MP[JV1"3C[Y'3FXZTP-/YD?T/%SO%S?XQC/ MW/)ELM;N%_K!-PX]R#IM9#."24'#Q3"R^S$/)X#EH04@#.=>&B[+CNB+<-Q0=:A\RJ8T&)G+ >RIM3KQ5.+R'7!8ZK-4#R"8Z10"J6;05[+&V6,PKWY9QM'%&X)6' N@ MWJ*8Y:5"RK@K](;=H?(MT 5^L+IX3JIXP3&WK#;2G8._N\>LLU4-GXJ"9Q9' M<=K"=4Z9%%K6/&<&K69-A:J)&-TAIX>2T@,U+&!U+;-!#[G+3F4XA,_XN6".)B7K@'9(@J1[S3M2.LNU4*[4[X8<[T#-X[HOY M;4=%R.F2\]^?V(?8S$]7(*1XG75*61X;H+UP#=3:-5DH8[;9Y?31.6B)LE2L MK7A&4H8LTF>*5M?G3!# M+Y^LTTMX-3P C^[#,_J1J9+3%UUC0=!P=C'W0 U/T[ PLG7/P4$:>ES[OXEJR\P I"CK&Q!$;#(UXA MYQ9$,AXZIC>DM(&G\Y[^V=5.M1R9QBO)?Q:)R5?>PH,$4U9S\.Y!W&MC2R[8%)0%J(=V5-W#BJBR9QA; _Y6 4>0N*,^M#?=3X4*,PH5P#CLI3*[A1B28O(SW2HE;:,W@0>LQC )1A %4? &;S*4.'&\R3^5 M^ (Y'9!3AYS^QZF]30AG8_B3 A_>+:)@<@G[6NF:D<%(,#G2Y:]J%>=T^4#G M3*&&2LE,L1*8$+(6,29 -WS'GB%WO[+NV8R@JA@6-*H<%X/O- M;W>+HRL7'\=I:%N==.&UL[5U;<]M&LOXK*&VRA]J":()WQDFJ9-G>:,O.^EAV MMLXC2 Q)Q"# X")9^?7GZ^ZY@0(I.=FD]F$?$E,$IJ>GI^_=,_SVKB@_55NE MZN#S+LNK[\ZV=;W_YMFS:K55N[CJ%WN5X\FZ*'=QC3_+S;-J7ZHXX4&[[-EP M,)@^V\5I?O;]M_S=N_+[;XNFSM)1&-:0"_\5.J[BKO MKM=V?SLR!1Z[C)ZO?%W0]*+VA"\%9%5O'_@SMY=S(^"U9- M51<[/1@8[-)<_HT_:T)X ^:#(P.&>L"0\9:)&,N7<1U__VU9W 4EO0UH](&7 MRJ.!7)K3KMS4)9ZF&%=_?R.[$13KX";=Y.DZ7<5Y'5RN5D63UVF^"=X56;I* M517TS*?S;Y_5F)H /%OI:5[(-,,CTRR"MT5>;ZO@59ZHI#W^&5"V> \-WB^& M)P'>J'T_& W"8#@8#D[ &UDZC!C>Z'?3X<1D8SO9F"<;'YGL15RE%4WUKE25 MRNN8&+2+J*?!].+SH!-4\&&K@B:/FR2M51*L"A ]K^13A64D,7V]3O,X7Z5Q M%E08IB!J=15LXUL5+)7* PCY/B[Q7DJRLRK*!&\KL&>]Y;\U6?9E"B#[# RR M4;DJXRR[I^=J7\O8&KA\S!F1&YJ'L;W#OEY?OSLZ#.$^" M>+\'G>-EIH*R(:CT9:DV3<9+X]$$\D:MFC*M4_W&J\^K;9QO5'!5['9IQ4JC M=W;SZNKL/*3A<9D0MFE>8^*=MW:LLBAI)2'#P6*R)E$!EA'D)/:91@"SE00A M3GZ&5 JQZFU<0QASJ"_ZPJ#V][)H]DSK-%%E%>1JI:J*N M:-(B#=9R61%ZW M7QB8 I[#:E]4J6@M3 X57,9,;(R!MJGZP94J:ZACSC.PL**75K3+N^;LFI(>.H"RGZU[=[' M/LL6[TIV'Q+=*M6-5+4MFBS!A &9'4(-T_[J)%J#3''UQ(GZ)[3/Q&J?R4FU\5UEMTSTM7G!* ME58Z^[*XA7(1?',X;YBW)A4$N:_+=-DPT2I5WJ9F ;2B@GB66DQ_.#( M&L"4) I[DI"6TFAD4)Y02$ %$!O(>]E>2NS$N$50O2_+>W_C F@7$C>BVR8E MLH#[5;Z!!B5IXV551LT_6!PI&>9 NS)!7Q0NRR]AS6JI61%?X3\]8ME4^*._2_(^&#UG7G%;_IA::LM_O"-T MJI:-MXJ:M12%!X]NR"N49X/PP7 V=^Z/X<#^\?'F*_[O MR8C.$$\/=;/<54I@!EA!/VW".;A9+H(%T#V M#6\E(5(>X.J3@+"Q=,2$PW"QF//8AXLP[T?C:3@'AN]*\:'2+:G]V0A MX\4T6(3#442J H+/"ERPU2_,PF@X#*912+OW3UY-7N07VL29E9DYAV$$6!^* M&@Q_J1>]" <#K#6:!9-Y. ";3",L^_KRQ?6;ZP_7KVX[:,\T_!LBA+EOLJ& _FX7"*G9],PREV A#+AEP(B% I"U\B ME%F30 QG@+Z(@BF!Q9K,NWK7*F_;S"*S-%ZFF80F43B:3X#3B'9S,<6G.>1# M.WZENE504/0(:YWC410NAL!M;(CRQ@,U'H0SD&.X& 53<.]\$8Z&B]\LJN9? M>*VL&G*RD3N)T17%Z'^:K/X(OM&4J.R7(U!A-@7K>I,LP'J#"1@L BO#D*_+ M8F=B(])SO6A.'!R.H@G, T1Z/)Z=,_@>(J'JG'1SL5/R'@1Q-IV?!]%D #I. M^#66HUY3L?8^MSX6/!@7@7$623:D-X58#L)H/@88\.H FS.?.T@:D):V@\%& M!'H@)! 8G+MQ>EYVG1PVVC2TH8S'M%JL:+8(Q]&P;>E\3U<+7LS.T0Z1",=L M:U)5!6SNK^3Q@9&;W/M";\H%\($WQ3,S%/&Y'KX8'+X84%;0A9T4&")(IYG) M?:/(F.:LBG5]!\1"^/,IHD7"40?';3/:2(1]=D)#G?%W9]W:Z:RO\R)/6*-! MG8/XRD;VUD.ZTA[I.]FK$D*_8BW>.[N^>G=F_CP/R10G"@[.)R"Q*O;W):4) M;1 V(I4P3XF<)5/ _*2/4PU(5KN@K;Y :?_L"_OC1@!779)#KV1QYV-@RTS M6PN <8(MJ^&=@TAM]YNG(A^= P] 'DV^Y@7.YU]W^TLM/')? :R?J(]8_] < M)IBN]HH3O-E]O\L/L>\?@J'1M5F$9C,B#F5J\B#>;"AY5#,%1G-9UF3\=6O" MT"RRM:R:-;CA/QHWU629#I\^WC,F_3_?6P8;"BNRSU%Q6HB#N))R;3MA69/H MHLF7,(5D&PF%NO6>N)@[_>06;B<;;_9AH1YU7%N2/)>J%3)B)Q[XJX@:C7KV MV+C9S55;& 1*Z*7R=C'V"-AQ.+FW MR39@]#/VD/-!I?[7O;X#0KX,";A51;;,*VR#B96*R] MQ;G@=XG8 O29*S]K=,:;:LRJP>8"/PFN(YE7"2LB+DE20I<6^> M5*=2D%.;@IR>S!I^K!CS5W"+=E02Z,H[GH;06YT'AU!8'"2%;6/D(^E&4EJT M:&*O@^RV5D&5G]@'U7;Q)Z@,.Q73J*J:W5XVF84I7J^5WF1UR#15J:= SW(5'>!M;:3_2$3ER0-,Y;#A8LUT-)%0JGWNN':!Y<32+]A M?X%\J5F3D_%VL2T]$Q-P8BQ'"U!Z"RU04$4G8PR@HXDY"2'2]$53Z1AI#>>5 M9%2K*TY^2V*_*G(V"$[$5VFY:G8@ /%AJ%6R&Y:)RQ.4BIJ[:DV FZ0P(/74T&CL!_D M&V.O.N:(5*HU5:*=+\;T_)_J5$*<+2IP)RR,6J1J 66P6/IIO4G1+.MUDYEI M02I:GJX)F5>99HDM.<2?6YZ)&X"W6&-<+&/)3NV(GTPV^RC;T!IAT2D=KSFH M:''0"9TQLSIC=E+B7U/5["?:N"YM<7IL+X!?XP#(1V$"O2]BE! 8K93L_ITK M.E$VAUP$6EBELHP5=BX$)/W(:1Q2K%JC0YL[X\4N$]X"5Y-U=8DYP*[OJ(1 MP0$ @;EJ^$90R[75"3O(15.*#B+]T _^M<6(1)$[EN9&P-=N.=X($8825_ZA-NF< 80 MG]ZW'%$B'.*/FG:2C\0@K2U2F'P(1K:51=#@1\VT+F_QK8.:JQYUZJ@'46DN4S%+@T\8^P5W!>5 M23IYSWJ2'%WX#9Y"TTY#-YL19?'^IDFE6$QQ#08R?=WT@.^43$UU@?271MF MUV)'*]DJUJTTI:82H@1!H0,&ZVF/L-AWG]"R\2TZQ)6N GCEG3=,A),W0+?EL8UF<2U_0!9.]>*J"*'O$I5=4/A+-L+RYQ.XA2)([VL1K(3@E-4A4Z?Y M(;WI!;V[G9)UR .CI_% D2O1XKQ?#Y!F8I["N2UZ'SLT'KW5)<;ZL=:^;)0[ M,D?%7=XR$,ZY^T*SD3JCX=MR:[A%;W@JSRJX1%6K,ETRMY5*<UNTT2NFX&55 MQVW>(E>VC4M?][5X6_!@,GG5=R9=HP<[6=H!P[(0H&4QQTM"0U>!_1T9OP.7 MUW_&3F1\&T,I=T.SNK0+B;L4&M.( MD#=-4YG8[2'7$)6!?*C=P:*J4H;:WE\=U5!&$6'FGA++O!\2QB6>RHAWM%CX M)]S!%EG_!]QWM">Z<1SV*'(:/LY/'"E6'+A MB.-,P&GHS<+EZ&"=)IW<^@4Q6;J6C-6/ES^!Q"2R)A1/4BZ\DOA3OE-&.EHG M!3<(ZA09\ZT.7*@QY[,J5VEU: G60"+G.,EUTOCKX/3*;D<-2'6Q^B3DYOPM MQ_*MAR&S0COO[E( OC#'&=5>8C:"UH>-$YV/I9Y2)Q$WF"B)RZ0*/NXYK]([ MN[SY2/TF@VAZ,8B"]U)8L:GQ'QW(7^#0]LX^ MWGQU=MY_#-*#7A^;BM8A(R6O,=%[E4/?+%, ?O_VQ2. R:^EL3H3YD\!4$"L M;U=OAQWIHJPU43@[9J+-CEEU6D299F_1Q> <,B/$K%HMV%RJ-UT'-M#^A>G> MA$92-;=_',G2EF2S+VQ\\!B>C^+8*M[J[([M8M_ I]0XP)0IGU:'-5UK)8P> MS#G90OZ6G_380D!7Y,KHCOR;K]BJL18QZ6&#?]]7>SX1.G=,S/)O6Z\80:N[ MB,@>9)"QE5CV9X!O(3ZEZ]>#@.Q.XL@6 U:0NDU;T&S9^5[%9;\EHWZ_OP/M MM#SU[^ZXUG/K<#\D QL"=IT5^K0&Y[%J0?H@;N,^ESKECQW+EG1"A''R^*>0,$/=C;:S"A"%3 M&S(!:64[QYF::9E<4/K@WC:_4)ICK\J]JB5:+MJU'+]'!B%=30%VO[/W51I/ MF,Q>8;YRJVNM6\@OP2(TM^WIY-WDZ#1/JH/.*2JEVX[/PV[1XK%N(NW/=7AN M^JR*+@3$.3F]W/Q3B#M04X_RQA2F*=L OB-M'?QS51<$2M9.$6.2I-IT8E71 MO#_&'F09;UI<&1;RC.T1^OAVCE+7=YM0Z%MC '**<2F=*T796OK4SQJZ6R.$K- MK16V>UJ)TRN],)W84'IV1TKL5RY:5BX=CH)%ET0YT?+G82]S24WO8\ MZ( 4O"W@6*G@TE,:;LTF(U>9P+F6\BIYW5:V!*:)PW<"SU-"1O<!%\*/;I*I@.IN+@4)X;N,)PDEL# M@"816R14$*(YKNCM0[=4Z<(X)?CV^TST.N%CH$*^8HVCWP-DX990QX7IIPMV M"H)L"N6BFN*5R2RS!1&5Q1(JBO(AB:BQ1ZK<3#\0!<+ MSI9 M";6IL9,'4F[;YR\LPI'NY^.&%[3066S']"!2GI2C(/K M3^GO0Y+R,4@^"LE]3S).^E9H4XS_G*L[RWAF(O9H?8_75%KH\@!N8G#=2M@K MV'7JH(_+G-OQ=5#G*(JW9 NN=>&<]W*UI8X1W;56E+;L;'*']H29KNY*7Y,Y M[+,&9UR G'N;L)6=5>8URSE-G M2"'GZMN)4[\'@-.A>&E\SJT:E);N?L=0],GS<[$TLER/F-**Y!#',VI\+96<2N?'G(QH3>CTU,.Y?'WM#MG;G766 M 8C7M*16&YM!8 08K6*J=[%W*&WB JBT&UQ3OT9 HE:7"H;*2)*J;10ZG,P M+:]/K]9N'R6M8XC89SG/)C)$+"_+/%#!W(^(0'/C_.?C=&QUG? @434;N W) M!?M;:Z5,"ZWC02MR2;LJ(VH-B\VU4^CO 0SW)[\EH;[?4^8!%+)I'RH9@?=09V@D[6-@4ZKU@F.FH4D MY22]\ _+>LW=P*GTLICURS):J_B3%_$%K-$E0CYG>*(@/KV0YP1!/'!B//*TM/EUKIZL0&"K;13D":'K3*M2W:TRA/. OS8>LJ MQZYP8)Q>WG!2\*;B73M,O.Y:R9UX.LGNDDL%>M:2#SQ6?J=95A6>)V\*\+I? MUU!SE14-Q>7@#G-*/=0GB+Q(^@;A5@V7B+LDK 'E7C..T/FF -*%=CTDOO:T M5I?"X.7IW9!'>2(B\#OJSD>"'?^=FY@.H5R#H'G-=J?#S:CXG=2]0RZ&3@HY M-5^8&SHL/QYTM N84BUY T2S$ 8V?X[A8M)+HQ@/MQF>%:O8DFY:,==NY4L338 M<'(M:;M;<>6.TYB*FDM9B"!1II]>M$OT&L=]69$^O4Y@X ]G!7V3RAV?6?I) M471JH;1W;JGZ3SYJ>G"T2Q3F4C=1:ZV@DW^Z7X!CNE2.GGR\^6H\#\>+*)S. M)X<'PUZFE3G1I6E@6/7:L(T)&&HIHGJ"D[C!@H$+@TH5[T06-ZK )NW!9YR5 M--/8W3)9]:V*DU\0,=8LHG_6Z5TF;>NTKG]JM^OS8_]J^GWS^)%\S^(8PD4( MA2>S23B:C8/1:!8.\-]\.-0'Q\U;[B3[:#@.H\'$^V8PG(73T4@?EXX&\W"^ M6/"QX1&=))].PO%D\IO)^Y]'[H\WE_;SA(XZ@R#1R'X516$T!>>/(LZ+3[!\ M.NA,Y!A.PN%X&H[F4V.F'!5IS&0^\[Z93F;A>#1_(EU-BBAX82ZA^&"3P%V^ M3L=Y$S]MG-\6NIO;4W/]KOL57(G"FFP9K9)0:[_6[+]*#VG!&04WCW4*7;AH MK3K;WF-1-TVQU:$17+0BM_EL/N:K_2'IDOYC3:K= K]<:P]>F_J+=;&H8U%. M>!$R_O*\\S<&),C%!TUXQQ3OKTO?6LN!63.=Q'.!INDUZ-@'DY%RB;@C&0D; MCK5J&[_)*7S9')[^H^8OEU).&G=R[&$48X,5,4I\91#7"]8G4S-<^'7LE!^D MN'<(UFTM]N&D'362OJGA_H(M_KQ[[ITX, M:H5!$=-A!M4JHQ'LPRA<3-U7([KW8!H%O9=J14?'%-U=))_D'A+S8H_&3P*14@9QB5^8CXW&-@/,,YGEN'#/V,TW*V,O^/N!:[6C_CN/^)E_3>?W2 MJ:F[\LZ<(J)N7ITA/U5%&KHJTO!TE2XV]Q^^Y?Y2FNN5/J?964XZ#:X7I":$ MZH;I/=S9A_9@J%^XLUT-?C[ O!G*A3BF9S!. MIW\2Q8$F-&1#YT 1293Z)+^ZT)FG#@7HQ;TV[.VWW$F[-.<-:(MGE#V7\N4D M@#X^HF^%XPQ7O$)DIN_;[-3!-MJ^1>1?%=S-L5,))6M8$U,/R 6%2C8#Z':/P'P:1G1'T&)BA30:A-,!O+W! MX-]RS<8IV7#7[D:CTSU!!<>)7L#Z/JT^=8O%:4B]G]D+ZH)VI%U7;E(LJ(P@ MM570LM"I:F[,Q]BBHR(9^77E' MH/S -]3AL?&Z;..YN?)C12VM-==G2#XY!*SDDE]]J+B5X?=QP,) LK3:ZN+ MZ?/1WFX=G(BDOD"M -Q&Z*8N?7"]:DI,*2:6W4V/&T@QRN''E8_GOXBB6G*T MNC.;ZN>P;5&ER"^D4:F;HIRFL'MG8P[7GTW7BF2IN5Z)PI.<3V#D1:N/W\/\ M]P0GUM4Z(7X'@4I;GER6^4,K >,EN%JG Z+!U_:$FHLOO]S?_<^X*>UK_?]_ M-[:F&N[2!<,H'(TFC'KY]Y>/;/$50I5H/$2H,0^B\1$>?$F1TWA M(5\0C8Z\](J_C8:(EP!R@AB(F-,\?IP_"5Z65CI9LJ1?W_BO MBNSFRK^WU=8@''DIYN@QKOP!9 _GDU&X& T.1SU\^_JDFAHCJJ=[1L&1%M+H MJ)JZ?90)?"6ECX7]5T.=Y(4?3N[//!R/Z$;>87M[S.!_M+9\%HYF/ !LQ=SP M1FX?AX.*/?HS7:X7YNIS_J$,>(S%#AZJO.<%%>:ZQ+M.S7%Q3,DM *<#TEQ4C^UE0I*5 MJ$S3SF&SO3Z2_?!',T+_GBCO@E@;)JTE0^JAQLV*MQR:F#,=)$RM"_1-%N!Y MBQ3<1<(_LZ&[#-3G5-_V2K\LH>X"WIZX7IR^I-2_Q.ZY M=._Q70>(EV-SNY?*M_29@IGG4G!AKHHKSI*03K*-]EI*Z)2$.V$2:QKJ<8DZ<]!^>ZR1Q8H3>OWU!Q0INX47\B.WN;SG,%E0O<%F2XK9CTS@3T2Z&8/_;9?=VI!).N=*OB*SQ=T M0(+"JRWD(S0G-"I3(R'"F!(X(4P'+/P#PRM[=8,]XE^[Q7DW7[;XD3@]"S8D M23GGW_9:?X7ZQQQB71YK$=MN@FEK,O?>\Y"7J'QW7@CL+1 MG(TF\A-'>'VX&(:3"$,F@P>OP\5=3,B+C-5KJNS-UC_QNU:?SX#&PP8]0B*V?F6H]+7DX\80^OG"=!Y?-!MJ.Z#.7 MO,KKRQOBUJIQQQOF%]$H]*_%\ _^]Z1!'\;U_!MJ%=$_H!2\IML@Z,?E@@MP MG+"[3BQ[;[UWO3^28CXR2^L@U&E49^'A-;T:PVCP>WXZP_H/V1/VP1]X>D]( MX]W3R3&W):_5LN0*%]V[<'2ETXO!,(1[Q%=+FB6.A^7DDZ MZPT?EPX/+W1H/>5?:[)>P[7+"'<)S#/OM_5@2#?\"X)L8_):?F;/?AN87RF\ ME-_FO.U!I#!_W9Y$SZ!,P?=;'G7^I;%C6L-G^D/B%5T@MX M3K_N9?Z@">QO-W[__U!+ P04 " !;@8]13Z'B!-X' #Y&@ &0 'AL M+W=OSXBB)!]O*2@XL__X^DE\)V0!MM],[TP\06]9YD*Z$U1 M\Z68BNK#^DKA;MQIF6>%*'4F2Z+$XF1T1M^\=-C)>^),K.AS5S8I5II.)>5)BC32N%I!KGJ=%H' M@\@%F6;+,EMD*2\K'=V&/,;\SYEMC_I>,X6#--[DPUE)9:FB>\TK,R2(K>9EF/">ZP@"@7P%Q M.<:P^[R<$UX8=[01K%:"_*3D9OVM)A\O+_2NH.QWXS__BIGK_4!>^WMF[;\5 MJ2AF0A&/.EN/$)RJ>>8Z3\292Y/!#7.[FP_3?]N_%SLRG5[<3,F$ZY7=G=1< MB$^;[([GPFP3]9R(^H[G^H1Y#DM\)XX]+:.=3/W1B>'BEP.JJ>K#^F"U;FWGU0OPD)(G#/$HNRXJ7RPQ+ M;+QM)D0.98R$U#'1^\VNII3E]^E&*0/99F6M3>90Z+J1%7!]UBPZ<5P7:Z41 M"6+'!4Q"BF5?GIU?OK^\N;R8]MN\Y@]FCXD70(0Y,8-(9$+JN*$WC-F,E[=D M)A4.(\ZK)KX;.RQ$Y(/0"1$):%0;[*/&@5+UPF>B%(O,Q#B"]H22T*C%FMJY M3=3T(&SM(O.,S[(\JPPQ4L>+ _CDF6@F(:YBG(^%P,PY0G@GRHTPC[#6&(^H MDS#XYK>;\GZ@RG>="-O!$H^$0&^<.!Y+7GU$MW^1ORQAE* 4M14+ P5_V5G M]5?@IMD)W0UZV(4H!'0'1A) SPT , HH:TT62A;$@)6;)(XD1&.#8,>CP2$Y MP)'V_>C0JC_(,?\0L$]E(>IY.(A1&!\2&KC8Q\!.L^?H8*.Q^*P\)&LE[[*Y M(+.'U@K.GBT5ZH ->4Z.H.6U;PNT1.,!&P@'WL)=K M[,Z-X=Z;)@,\UN+[9K58490X/F6'>U)0T*6@X,4IJ 6HJ6V \K(; /4(7NS, M+/NU_U4PM?!\!,LA/'==/_=[72_]S?.Y9WX'_LRT"56[7]0%5L D7N03SXO M:Q$@R!J&;&?UE.TQWZ%N,!AQ6>2$GM?P @6#Q3@/YGQXAC+#P/$_XPR[\ MX6O#K\D2;*AL'0)(+H5<*KY>92G)96K/GBU7;$$JE/Z6K- !?-IP!?+="9'] M'OS_0N3#]*R[#@P/(8C4ZX8H=2@R8XB4=W4](0%"9EC(A) %('UDASBL(:$' MD3F7GE0Z-@_.MS+;KN#O-_GJ MBK/UY+KWI,NOUUOGZH_&]S>D?'.JS^O"F_"*_,S+C:D9J+.5$5'CHVHD'1BY$/D$:Z_4AP*C_T"5M>? 8W(^V!,HT>6(RZWQ#\%%(-:?CYS//WK 6_:?[_V=Y.9+'FY0/I M.1=]EH=F($2OTWL#R]]UM]\]D3XW4A$Z51JQ;:FGLR=#,G=C%*FT)V;ZG*VW M_53T6J"'.'$'0\](7^QXUE\E)DG$:"Q[C>B'^EW_71]/$"$8/_9[!T+V3(@GX#7J(\$CN:/KW8W!MX9FT0PB/Q!4%[LG7=A1BDH2 MU$P#$*8!9_OT1_LT 1LC)<7@;3;8DB?T]1$<(!ORLN^53&>C28HJEZ,8N&L> M5Q)X^;3) !T\5W5G7*VD%F!5C=X?#X CJ0RA<&VZ[:9]+KBZ%;9!:KOJH\[H ME_%I].69KFIM,_,.^1^*W(W*GQ[3%CK>06]!GT/E.VR[$P>H2CQW6^KI[,N] M-(7V/#9O4H#(3I/W19JZ>Q8$0Y)JW@?]PU![L?!N;WQB-!;FG2-[')Y6^.=' M(8]0XUH!P,JBX;W0X($5+TV,CG:59N/!YPCDGZ7]Z (N,1&LOTQTH]UWG;/Z M&PO M=V]R:W-H965T'C+2\?Q@[#=7(WJX:QOM M%E'M_>XJCEU18RO=A=FAII/*V%9Z^QJ8) M0$3C^X 9C25#XK%]C_ZNZYUZV4B'KTWS596^7D33"$JLY+[Q-^;P'H=^+@-> M81K7_<*ACTTG$11[YTT[)!.#5NE^E7?#'(X2IOR)!#$DB(YW7ZAC^49ZN9Q; M

TJFB/+]<%879:^_@!@M4/^2F00::+L/9IV"[ M\WGLJ4P(CHL!*M++/_,CXG>R%'<.G8<]KAI?_9\PGH;(3..NCL*:KT:,I]@V JNG!#&7NJ3#^ TZ@OGDT% M3U_!_ZXK%WB\H?+M!BVD"1NV:*)^V*.Q_ITF>#([<@1_$/'Y]OFC]C\)/1P) MB!GC8LJF(@\$>9:Q69;!JB&YD+I (.&!TNPWOMHWXTRO'D"O9=.%2P\;W"JM ME=Z&5GV-\!.EC7=HE2GA+&%BFK-$\/-@3R892V;B'%9EJ8).."AJ:;=8@C?T MWDMZXAL/>$Y(Q/N5PEK,LH_PC[JC+)UB/3,F>Y>0+XO#(0/OG*R9, M7&8L3[-NP-.4B21_[(+'1]K1(C4>%)*&$&![&1EW1Q%>]=KS.[Q7\(\T-T4# M;+"B5'XQN8S ]JK8.][L.B7:&$^ZUIDU?4C0A@ ZKXSQ]TXH,'Z:EK\ 4$L# M!!0 ( %N!CU$!9L[7I0( !X& 9 >&PO=V]R:W-H965T $$C6XKPWHZW4;D/P8:):V?CL)MF7+1]453:X$B"[NF;BYQ(K MOI\YGG-TW)6[0AF'.Y^V;(=K5/?M2FC+'5'RLL9&EKP!@=N9L_ NEZ&)MP$/ M)>[ER1S,3C:4;1_%+WTSP*NL;V @!+PJ4_/ MX 5C$0*+%_QO$X>U+=)[F MW9N)3X./\*_C0AIAUYAAO=$R H\,+EUS-?ATX?].\ZF7GA@^'8W[]5O[>ZV M!U9U""S7-P44.^B'G_$G%.;N04"2B)(P]2 D<9B2)(B'8])16#[9"PH>B9*( MA'&BXR=13 (_AD7^Q)H,07'=?MJV*E'8P# B21I &ODDB6D/)B%-8D+#0 <$ M-")!E,+JM2<%"9F$B08-P:,:,R3>Q'ONVK@G;[9&L;.=24+&NT;USW?TCLUO MT;_YW^%]Y[QE8ET &ZYT/['30C=P%"9 KV\Y M5T?#$(R?A/DO4$L#!!0 ( %N!CU&E&PO=V]R M:W-H965T-+8,X."P\R&WC_$*X6O1BBX_H/O9K0[/PR%+)#I65 M6H'!>AGWJ?^P;3T1 MI?%ESQD<0WK@J7U@_WNLG6K9"(MWNOU75JY9!D4 %=9B:-V#WKW!?3V9YRMU M:\X;"%7!_9=!]M1QQT#1?;CX(#8M MVLM%Z"B2]P_+/>OMQ,I?8)W#.ZU<8^%>55A]CP\IPV.:_)#F+3]+^(C]%201 M Q[QZ Q?&-]*J^QQ&Z#!I*8[9>HKVZ_1LW]$<:C>'XRX='_/#X^_OE3^U?C MO7^51BM9/O<$YBSGG,5%"C%G49JQC"?POJYEB2=>OH_U8)1T@T%(DI2E&8T$+,TCAB<921E>4Q MRV,.=UI99X9).J3RQ[@U:"W,PTU9#MW0"H<5R04I9RG%R'J1L2*C(G-^"1<%2Y."Y4EQ">N7;PQD+,_G MK$CG9&7S&8O3XF?W-3P1A [-=I0]"Z4>E)NTX;AZ5-:;25">W2=9?B?,5BH+ M+=8$C:YF60!FDKIIXG0_RLM&.Q*KT6SH[X#&.]!^K;4[3'R X_]F]1]02P,$ M% @ 6X&/45; +^ S @ 3 4 !D !X;"]W;W)K&ULE51M;],P$/XK5D (I- D3EJZT59J-Q!\F%2M##X[R>5%]4NP73+^ M/;:39F&TG?@2^\[W/'?/Q>=%*^1>50 :/3+*U=*KM&ZN@T!E%3"B)J(!;DX* M(1G1QI1EH!H))'<@1@,5J(0Z:UARV$JD#8T3^W@ 5[=*+ MO*/COBXK;1W!:M&0$G:@'YJM-%8PL.0U ZYJP9&$8NFMH^M-8N-=P/<:6C7: M(ZLD%6)OC:_YT@MM04 ATY:!F.47W "EELB4\;/G](:4%CC>']D_.^U&2TH4 MW CZH\YUM?3F'LJA( >J[T7[!7H]4\N7":K<%[5=;#SS4'906K >;"I@->]6 M\MCW8028AV< N =@5W>7R%5Y2S19+:1HD;31ALUNG%2'-L75W/Z4G9;FM#8X MO=I50NKW&B0SXO@>I4(:AIJ7"KW]1E(*ZMTBT":1#0^RGG33D>(SI%?H3G!= M*?2)YY#_C0\,_5 E/E:YP1<)=]!,4!SZ"(_K'IC56\&U1?( MDX$\<>3).7(S./F! A+%\YZ>:N5ELC>OYCB,/Z+_7=?*IK^%#%@*$L61W[M, M*W7O,_U\#L-A=#4RPKMWYH[(LN8*42@,-)Q\F'I(=K/; M&5HT;EY2H&ULK55M;]LV M$/XK!ZT8&D"SWC4KLPTX:8<-6+>@;K;/M'2VB5"D1E)Q\N]WI&35;9T, _;! M)GF\N^>Y(_5P<53ZP1P0+3RU0IIE<+"VNXXB4Q^P96:F.I2TLU.Z99:6>A^9 M3B-K?% KHC2.RZAE7 :KA;?=Z=5"]59PB7<:3-^V3#_?H%#'99 $)\-'OC]8 M9XA6BX[M<8/VOKO3M(JF+ UO41JN)&C<+8-U(M"N$1$X^\Q9S!!NL#S^2G[S[YVJF7+#-XJ\1=O M[&$9S -H<,=Z83^JXR\XUE.X?+42QO_#S M@'G\0D Z!J2>]P#D6;YCEJT66AU!.V_*YB:^5!]-Y+ATA[*QFG8YQ=G5NJYU MCPV\?Z)C-FB R0;^L ?4<-MKC=+";YQMN>"6T^[;3VPKT%PM(DO@+D54CT W M U#Z E %'Y2T!P/O98/-E_$1D9Z8IR?F-^FK"3?8S2"+0TCC-'XE7S9U(O/Y MLO^E$Z\ YA-@[@'SEPJ@#ZSI!8+:T>4

@07+X$/S7H=Z_OOYFF< M_03_=5P;Q^X=UMANB4N6A*.)NF]'&QW!UV%IG%1GBS3^QN-^\^;B_-_&X4 L M>X*./?N["&]_5Q8AN8(L3+,JS+,8\K H\[!,"EA_W=C!.[V"-$SB,JRJC+S+ ML@B+JAJR&RCC*BRR#*IY$2;S$CXIRP04856X7PE)'*9)$>;QY[H&#M>7^+$+ M#7,]"<&)IGB&6I'&&4LLR>^1B1Y_8 U]).=IW-;]!M[DLY)D0 BO:-,=(4<" M,GU]<&A<-OR1-SUQYK)6+?I$SMM8UG;0]/;9F68#Z_3ZVRY=8G:ZHYU6.S1. ME0G H'[D-<(.O[BT+3N\EW!"U7MI!YR;K]$JL!W'\[#X\,1^8WG-I0.".0N/9CT4 >I#M86%5YZ5R MJRP)KY\>Z*5#[1QH?Z>H8>/" 4QOY^H?4$L#!!0 ( %N!CU%(&K)420( M 'H% 9 >&PO=V]R:W-H965TLLBBH8J3;-L^PD M54+J9#X-=W=V/C5K:J7&.PMNK92P?Q?8FLTL&2>[BWNY:LA?I/-I)U;X@/2C MN[,LI0-*)15J)XT&B_4LN1Q?+"9>/RC\E+AQ>V?PD2R->?+"335+,D\(6RS) M(PC>_N 5MJT'8AJ_>\QD<.D-]\\[]&\A=HYE*1Q>F?:7K*B9)6<)5%B+=4OW M9O,=^WB./5YI6A=6V$3=DR*!IL0NO&):]G"+")>_ 7<.MT93PU"ZPNJE?$>\!V,D .PFPD[=HQC\-IN:B68N:0.C*?P]DJ8+. MV/ )^5U&!B2V@-&_>RW/A_U]_'"69\47>._./QFH0=",!RJ6"GVI@!--J)9H M0[9W^GDV/@^I_V\/5WWX^_$-C^.CT_$$BB,>&7"]RXW77*+&6I)[ 3?.G_=' M0Z)]#>>UXJ5[_:#0KD+7.RC-6E-LC>%V&"R7L9^>U>-4NA5V);6#%FLVS4:G MQPG8V.E1(-.%[EH:XEX-QX:'(UJOP.^U,;03O(-AW,[_ 5!+ P04 " !; M@8]1']L7*&T$ #/# &0 'AL+W=O6PS[D%#DW3V\.SYWI*<;J1[TBG.#'O.LT&>#E3'EJ>_KQ8KG3 ]ER0N0 M+*7*F8&I2GU=*LX29Y1G/L5XY.=,%(/9U*W=J-E45B83!;]12%=YSM33!<_D MYFQ !NW"K4A7QB[XLVG)4C[GYJZ\43#S.Y1$Y+S00A9(\>79X)R<7HRLOE/X M)OA&][Z1C>1>R@<[^9B<#;!UB&=\82P"@V'-+WF662!PX^\&<]!M:0W[WRWZ M!Q<[Q'+/-+^4V7>1F-79(!Z@A"]9E9E;N?F#-_%$%F\A,^W^HTVCBP=H46DC M\\88/,A%48_LL"+F4.9ZV92]?QG^P^X_K=U#>PC57V%PWD10U)WX"< MH,^R,"N-KHN$)R_M?7"O\Y&V/E[0O8!S7@Y1@#U$,<5[\((NYL#A!3\8\Q[H ML(,.'73X%C0435)E',DE8AJ87EI@C2J[EY&(:R. 2AR9%4=+)A1:LZQRZK)1 M9<8)$ZL%RZEBA7F=QCIK^UWY[9>8XN ]^MGQ"^"U)\GM26YI_,69:D17?,'S M>ZY00#HQ')MI%O&6+<5DTIO0;8VWQO,U5] ND!+ZX62I.'PUJ1*0* 491F0X M&A]U!MC-KA]+: 3@ZEIF<-J9,$\HI,,('YV$P9#29WV8DMBM!O$1NA)KD4"0 MZ$GP+$&XAWL$["F,@L92L0S!WCDB&#U!5G2GU"U\>''8]H0KR)S*GD21(FT9 MJ1&47?_H:T;4#- 0!IZ)%97-.6ER0D;8BS'V)C&UG(O0[W4'0B2,O&A,O0AC M*\"8(K@8EUQ8X?'8(S@&6?S."@-;;T(U*2'T?3=>-X&#"8D\2K$'2,XF?.W9 MC@.C<>CA,/0FX]":4/2U25>33WMGO6%*:.R-8N*1 -=Q?8-6 6Y(Z&%M;X . MO;8-Y$W"O-Y_3^6-NLH;'5IYEO.W\[N.YKM*:#_85@D!G'XN&R@8MUK8WI[W M>_O_4!PM]?^]2%S'J]O@:V7;WZ$B+%[3-%M)[S8]U+6[8EUS8!OU1?LP6T42 M86],(V]";(W O*L1J)"XJ1#HU W%C@GQ@L#^43]HJ(.,?\&H7 M02<>F0!'8^?!Y/G:ZZA]B-DN6ON]1V;.5>J>TAHM9%68^KW9K7:O]?/ZD?JL M7C_U/S.5"BC:C"_!% _'<"^H^OE<3XPLW9/U7AIX +O/%?SBX,HJ@'PII6DG M=H/N-\SL'U!+ P04 " !;@8]1'C (E48# "9" &0 'AL+W=O;/#4I]7$5I]+AQWQQJYS>2];(3!]RB^]C=&9*2":5J6E2V MT0H,[E?1Z_1F,_/Z0>'W!H_VY!F\)SNM/WOAMVH5,4\()9;.(PA:ON ;E-(# M$8T_1LQH.M(;GCX_HO\2?"=?=L+B&RT_-96K5U$1085[T4MWKX^_XNA/(%AJ M:<,_'$==%D'96Z?;T9@8M(T:5O$PQN$E!GPTX('W<%!@>2N<6"^-/H+QVH3F M'X*KP9K(-L,O6W(SJW?4][?:FOA#@UL:V$0+CZ(G41[N4P<'>#5DG($ MVPQ@_!FP!;S3RM46?E855D_M$R(VL>./[#;\+. 6NRO(6 R<<78&+YN\S0)> M]F)OSX#F$V@>0//G2%*C5+U$T'LH==OU3H2"(Y'JI2E!J JJ1O8.*U#$0'H& M'3&PWS(8HG+^P)]^*#C+7L%_7:F5D"L(YT^PH+U37X#1H4S6*KJ A ;66%1I[!BA4"BGQ#Z"CO3P^P0+>A=42Z40?8! ^R.)UG\8RE,9OE)+%B'L\] M@>L4;D?/SNE,OJ$PE,?#24$]'REVQ%_;QUN5-UY[^VTF\ZIRK)%G,U. M^JG(8Y;G\>(ZAWND8#:E#]-80+UJ*+#>C!7Q8IX!7\3I@BP*!A^T$Q(XI\+( MBSCC'+(TBSGA4]G\4YJ3DW%!?7@(0]'2W=4K-TR.:7>:NZ^'&PO=V]R:W-H965T $$A1\]Z7T59:.Q!\F#2M&XB/;G)IHCEV ML!VZ_7O.3AN*ME6"+[7/ON=Y[BY]/-]+]: K1 ./#1=ZX57&M!=!H/,*&Z9' MLD5!-Z54#3,4JEV@6X6L<*"&!W$8CH.&U<);SMW9C5K.96=X+?!&@>Z:AJFG M%7*Y7WB1=SRXK7>5L0?!MDRC6O)O]>%J1;>U(,"2]9QYG "F(:O .(#('9U]T*NRBMFV'*NY!Z4S28VNW&M.C055PO[ M439&T6U-.+-&-*RB" _\*YZ MWO@5WAE<$U.EX9,HL/@;'U"-0Z'QL=!5?)9P@^T(DM"'.(S#,WS)T'CB^)+_ M:7QT1B =!%(GD+Y6,/FGZ#B"+*'L3*<0.-+_!UKVU,MV-!H%Y"_%K'1_K5^: M]7FES__ #DS;@FB:!ILM)1Q'"GLD#KHM)2>GZ@MX]V8:A\G'9^L/9 I0%);T M"O,#303WF[?/I/\D2&T00^=DL])-L8L,8)FGDIU%D M@P3&H9]F&=Q)PSC$_G0Z]F>3\9']I8\4G%BA0;5SAM>0RTZ8WA7#Z?"F7/96 M^I/>/TC73.UJH6EP)4'#T23S0/4F[P,C6V>LK31D4[>MZ%U$91/HOI32' ,K M,+RTR]]02P,$% @ 6X&/441$QX5I @ C04 !D !X;"]W;W)K&ULE51M;],P$/XK5D (I+ XSLN:T59J-R;V85*U;O#9 M3:Y)-,<.MD/'O\=VTE"@+? EOCO?\]R+6@9KC&UP#8Y;(I/%UX/3&D!9X M*._9;UWMII8-57 MV)>ZT-7,FWBH@"WMF'X0NT\PU)-8OEPPY;YHU_M>IA[* M.Z5%,X!-!DW-^Y.^#'TX $SP"0 9 ,3EW0=R6=Y03>=3*79(6F_#9@57JD.; MY&IN'V6MI;FM#4[/UU":%FMTQ_L'MIUZ^T@W#-2[::!-!.L7Y /;LF&ULM59=3]LP%/TK5L0DD% 3I]^HK01%$SPP*CJVO;K)36.1 MV,%V*$S[\;MV0EI&6U6:VH?&7_><GS,NO,G(K=,O5U!)E=CCWKO"P]\F1J[X$]&!5O"',QC,5,X\QN4F.<@-)>"*$C&WB6] MF-*N#7 G?G!8Z8TQL:DLI'RRD]MX[ 56$600&0O!\/("4\@RBX0ZGFM0K^&T M@9OC=_2O+GE,9L$T3&7VD\1V,"G(NJBM[K8W8" C[.P+".B#\)X .=@2TZX"V2[12YM*Z9H9-1DJN MB+*G$BIC,%!<1+UA&+JW#W'#0 MY/0:#..9/B,GA MRQ[,,S^N1;U""!?*CFNZJH@MWT46F18+PG(0!'3S.K\GI MR9E.F8)M6-,#L-K4807<0/X1PD]X/>^0/ M.=EV(RH!0R? OLPODTZW14?^RQ;9G49V9Z_LV]D]TMVKF M\Y\FV._Z_AZ>W5_ZW,%Z"L@Y5TPK4N(29QZ>PU*9 "G9;Q-D,KZ-Z&H2'M=P/[ MV^YJOU'5/\#5RQR9(R:P"!52U4NZ+D8T/-#-6_$"^"U0&A^4SZ6NKI;A)__: M.YQ;ERFZOTY]3Q7 !_:#O%S7$]HYKI?K"D.[^RLNJ B$P=;$^LF% 7P\#;81 MSR57^(0NW@AV.9K'@)MUNEM=WD\3=EIAY\LVQ?[&1]IV2'=,+;G0)(,$D8)6 M'X%5U714$R,+]]U>2(-=@!NFV*B!L@=P/Y'2O$]L*]"T?I._4$L#!!0 ( M %N!CU$Z@C3 D @ (HG 9 >&PO=V]R:W-H965TP&RMT'=W?VLV'0L5):\$IVT__Z& MLF+:XHN=W0)%8\O#\3/D\'DX8UZ^U,W7=J643KZMRZJ]&JVTWGP-RA?=H'4Y)@B)\3HOJM'U9??LH;F^K+>Z+"KU MT"3M=KW.F^^WJJQ?KD9X]/K@<_&TTN;!^/IRDS^IF=*_;QX:>#?>>UD4:U6U M15TEC5I>C6[PQRD79D!G\4>A7MJ#UXD)Y;&NOYHW=XNK$3*(5*GFVKC(X<^S MFJBR-)X QU^]T]'^.\W P]>OWO_3!0_!/.:MFM3EG\5"KZY&V2A9J&6^+?7G M^N6_J@^(&W_SNFR[_Y.7WA:-DOFVU?6Z'PP(UD6U^YM_ZR?B8 #X\0\@_0 R M', " V@_@)X[@/4#6#9CF.K^^;.J7I#'6X,V\Z":S&PWA%Y59]YEN MX-,"QNGKV6Z]DWJ9S(JGJE@6\[S2RY&72:G@ N:!A!4IX!K9YM4CRM7'1&M=ZI9)?FGJ[^:E-_KC[ MU";OIDKG1=F^!Z^_SZ;)NW^]OQQKB,>@&L][[+<[["2 72:_UI5>MCGA"""/'@F9P_'TC-\&A\^57,8CGW#CZ*A M^Z6EG3\:\';OJ5G1N7JB_ML5S7L)RM[XEV[GB MG2M#.L_7/&-I1E-Q.7X^G$N/H2!"IDP>&TX]AE(BGI%T;W@4%M^'Q:-A?5:M M;HJYR643F"^8G0-Q\-4",F,(T&_%_.C$'IV(HINMZD9?:-6LDZ)Z!JCKT(P+ MY^LY1XCP 4J/68HYROPPTSW,- JS)XH6-&"N("\>2_5S4BGM YHZ"(A$&25X MD!I3CV%*.!,T,*?9'FP6!?O0J$U>+!+U#62S55U.U\!-39*WK?+/;N9@P2@5 M#&=X -HU3"'Q4QG +/>8913S?0T MQ9.Q]W,T7TQD# <0'.@4/K%V<-9I]/=NT0P';0R&8*[UWHYWA4PQRP;+YC,4 M0F8'-'2,F%C$)(KXKM)Y]53 CNC3*PR6.!@8EI31(5;7CH@TI2( U2H%IE&H MOW6;H*JK^;9IC)"']T/OZ2C/N> H'6)U[0B7.,0WV(H1CJO131@:\^Q5X)*,RJ$0 & 5E8PC^KN_=W-[=W]W9>[3S'QQ58(<%P)]A2[R;\;?O6& M[K*[8!GBV%T7UY*F69IF*!2XE0(X!MBY83$Y62JE@K +D#3GE6U]:8T<96$P?$0"&\ TV-(LRR5(:HA5G-( M7'.^_/;EYCX)[N<>IRL@,)^PGS)!ADA=4T$DR8@,'&6)%1L2%YO_*?TZF=Y5 M)ZYT4"J1X(P/#HH3CRG0:"8E2P.:2*S0D+C0W-=MFRR;>IT8-<]-Z>^'ZZK' M!8$UI8*P(5R/*46<$2)I *[5&A+7&C.K[TK _!X.X?-Z[4]45TL *]0G\?2Q]*'T)= 9Z5]TN""0-';+& MQ&?)D.&74));'21Q'=RC/YQ_NRI]X^1T+*[L74!.IYAFPU@\EIQ0.&\%](98 MA21QA33=FEAGQ0H7D?^L&T&M>M"X>KRI'T%==8"9D2S+AJ=KCR6&V68T5,I3 M*R0T+B1GM!JHJPUNI\%K%& Y:K6#QK7C[%;#E'H*$,Q1@+OH0:["=32.XW3^]G=!.J2=*R;0"U%TSA%O[&;0#T5"*'#.L5C MQ63@K$PM ],X Y_?1J!NU2%PU\D^ANF:L123T":V#$_CI7L[H!W%-%<$2'/\=-/'8&**&I M""0IMT+#X^7&#VH%<$]G*T-&$H8%J,?R0G"!R" M($Q)H,_-K9SQN)S]H/J^_Q9^E &I9'C8:?$8,A;.9ZMS_$01HYHYB$/^I,P= MC?GAY8[J!'F<\)QE'Q#ZM^\&Q8F!E+L#CZ,[^'4_KHJ1Z'2M\S)R/#WAF;- M=-,3 ZEG6HZCLW+)XW)Y,KH3BG_"O2#!$$\,#"[@^."2TEHU3]UEKS;ICK"[ M*SK[I_L+93?=-:K!\UO\<;*[%F;=[&ZI_9HW3T75)J5:@DOT(87E:'87OW9O M=+WIKD(]UEK7Z^[E2N4+U1@#^'Q9U_KUC?F"_?6[Z_\#4$L#!!0 ( %N! MCU'R,V8)@P( &H& 9 >&PO=V]R:W-H965T<\^YCB_17LBM*A$UO%2,J[E7:EW?^KY*2ZR(NA0UW'DUM8RCD2C&>6XEJ":JB+RUQ*9V,^]D7=8>*1% MJ>V"'T!?R@N%='8[!.-D)L M[>1;-O<"*P@9IMHR$//:X0H9LT1&QG/'Z?4I+?!X?&#_XKP;+QNB<"783YKI MY!A3AJF'\7^*W9^II8O%4RY)^R[V,"#M%%:5!W8**@H;]_DI:O#$<#P MG :$'2!\"YA\ !AW@+$SVBISMNZ()G$DQ1ZDC39L=N!JX]#&#>7V%!,MS2XU M.!TG[>F!R"&A!:0%KP6A*4<%G6!%57K@GW#\W=$<846E)4XU9NW]VAYI0ILX-["FY@[-/YY&OC6";UD\[<[?AP>TR'"3\GNI+&(\N( S"X(2>U3 \P=K @U/P5W+&??'' MCF_\ =^_UW,@V:1/-G'))@/)H$26 >6@2U0(N12_D9MKP+?F/KD35Z>JTA)/ M';%M"[LXG,S"FYOKR-^=4#3M%4T'%27-1N%S8SP#[LQSP.153WGU_RLZZY/- M!O4OLHRZ7D1M0^O9TW?L[5]S]JZ*H^M)8']ORN@?7><*9>&ZG )W/NW-[E?[ M1KIP_-T*;5N&%I/@8H;8#9 MSX70AXE-T']>XC]02P,$% @ 6X&/4<\=+T)A @ K@4 !D !X;"]W M;W)K&ULC53;CMHP$/T5*]J'7:DE(5P*JQ )V%;M MPU:(:-MGDTP2:WU);0>V4C^^OH244D!]B>W)G#-G9NQ)#D*^JAI HS=&N5H$ MM=;-8QBJO :&U4 TP,V?4DB&M3G**E2-!%PX$*-A'$73D&'"@S1QMHU,$]%J M2CAL)%(M8UC^7 $5AT4P#(Z&+:EJ;0UAFC2X@@ST2[.1YA3V+ 5AP!41'$DH M%\%R^+B>6'_G\(W 09WLDO 1@$CW*_XK:O#"2"^!H@[0'P.&%X!C#K R"7JE;FTGK#&:2+% M 4GK;=CLQM7&H4TVA-LN9EJ:O\3@=)KY[B%1HHQ4G)0DQURC99Z+EFO"*[01 ME.0$%'J/MK 'WH)91=[Y6/'5V+/T;/@NE;H M(R^@^!L?FCSZ9.)C,JOX)F$&S0"-HG<=T M0^"HK_;(T8ZNT%XHX W6<<\Z=JSC*ZQ?6[8#:5M8 0>)*6JD:9GI'1,%4(5^ MH2M56'GBJ2.V#WZ?QDFXOZ!ETFN9W-2286JNBH0=UF #WUV*ZBDF)U''L_%\ M.)U-^N"^2?\Z1F?RPI.KST!6;B(HY&ZOOSB]M1\Z2_?6SNPK,XS\[/A#XR?9 M,Y85X0I1* UE-+!O7_KIX ]:-.Z![80VS]5M:S-005H'\[\40A\/-D _HM/? M4$L#!!0 ( %N!CU&UA"K10 , , 9 >&PO=V]R:W-H965T>XW./G9L[V@OY0ZT!-'JIREJ-O;76FP^^ MK_(U5$S=B0W4YLE*R(II,Y6%KS82V-*!JM(G01#[%>.U-QFYM;FR]+CSR8JWM@C\9;5@!"]!/F[DT,[]C6?(*:L5%C22L MQMX4?YCAS )W4P1C:59R%^V,F7Y=@+K"(H(=>6@IF_'6L**;4O]*/:?H4THLGRY*)7[ M1?LV-O!0OE5:5"W8**AXW?RSE]:( X#A.0\@+8 < \(+ -H"J$NT4>;2>F": M3492[)&TT8;-#IPW#FVRX;4]QH66YBDW.#U9-,>'Q HM>%'S%<]9K=$TS\6V MUKPNT%R4/.>@T'OTP!4K"@D%T-LW[T:^ M-OKL+G[>:KEOM) +6C+T5=1ZK=#'>@G+7_&^R:M+CKPF=T\&"1>PN4,T^ .1 M@ 1G],Q^&XZS 3FT\YHZ/GJ![[)]__QI0M$7#97Z=V"CL-LH=!N%%S;ZR[S^ MLJ%6YXZA04<.;=_SW832+(BC,(I&_N[0H--('*1IEH5)UD7^(C'J)$:#$I\6 MTX%$XXXEOJVC2;=1]G4&T^N\I2>&D3A*0IH>.WLFT%SK*$TN&-M7*#QW!\G7" MPZ7+7>'?\;@O-3B]L<=]/<+9=1YG)Q\H\ZU/8DJ/'3X32$F(@^C(7_^@EZI M%J[%5,BU0TWGT:UV;>S4-6]'Z_>VO74]6D_3],9?F2QXK5 )*T,9W"5&E6S: MS6:BQ<9U;,]"F_[/#=>F10=I \SSE1#Z=6(WZ)K^R?]02P,$% @ 6X&/ M439N52,[ P D0D !D !X;"]W;W)K&ULK59= MK]HX$/TK5K0/O5)[D]@A'Q4@7;B[VCY4NKJHN\\F&<"J8U/;0+N_OA,GI#0$ M=J7N"_''S/$YXV'&TY,VG^T.P)&OM51V%NR]!X.6=:AG2*$K#F@L5S*=^[<7,I_K@I%#P8H@]U#4WWQ8@]6D6Q,%Y MX55L=ZY9".?3/=_""MRG_8O!6=BC5*(&9856Q,!F%CS%[Y>Q=_ 6?PDXV8LQ M::2LM?[<3#Y4LR!J&(&$TC40'#]'6(*4#1+R^-*!!OV9C>/E^(S^AQ>/8M;< MPE++OT7E=K,@#T@%&WZ0[E6?_H1.T*3!*[6T_I><.MLH(.7!.EUWSLB@%JK] M\J]=("X<$&?<@78.=.B0W'!@G0/S0EMF7M8S=WP^-?I$3&.-:,W Q\9[HQJA MFFM<.8.[ OW']$;LA);)3:BY,J1I[+4!^6$VI(7+44IP))W9*F5,QAX MLN"2JQ+7WCR#XT+:!]S]M'HF;WY[F(8.>37H8=EQ6+08>3QV Z\+IB6O M4((X\K6$.ZA)CYIXU.0&Z@*V0JGFAM;M;8P%OH68>(CF'WV7%P@/YH-K16Z+ C9%MD=(+#G%.\TE. M!URO[=XAT32*)N-I9ZA]H'N$;LD86D\KKKH*1;_ M6Q(55PSRJ&"38D#TVHPRO*$;UQ-'/\II](LYU %<'IVD14;3;$!QQ'"2LRR] MD>7Q1[<*FQY/^#Z214*0^5'Y#R7.6EX&LAA?M&N"/K/DVP57PY M<./ C,J+KRH)2[&2T&&JC!C2E+&<#>2%%\VM!K/U/=\27U+;EM"O]N^*)]]- M!^N+YKWAF^8/F/:Q\I$;%&>)A U"1H\9DC)M_V\G3N]]"UUKAPW9#W?X9@+3 M&.#^1FMWGC0']*^P^7=02P,$% @ 6X&/45^EJAY" @ 104 !D !X M;"]W;W)K&ULI51-C]HP$/TK5M3#KM22D+ 45A") MCZW:PTIHHVW/)IDD%HZ=VH;0?]^Q$[)T"ZA2+XD]GO?FS=@SLT:JG2X!##E6 M7.BY5QI3/_J^3DNHJ![(&@2>Y%)5U.!6%;ZN%=#,@2KNAT$P]BO*A!?/G&VC MXIG<&\X$;!31^ZJBZM<2N&SFWM [&5Y841IK\.-930M(P+S6&X4[OV?)6 5" M,RF(@GSN+8:/JY'U=P[?&33Z;$UL)ELI=W;S+9M[@14$'%)C&2C^#K "SBT1 MROC9<7I]2 L\7Y_8O[C<,9D3E)6"%8SE(J#%FDJ=P+ MPT1!-I*SE($FGTA".?ZIR,@S53MPQT]'?% :S7=K,)1Q?8^.K\F:W'VXG_D& M)=I ?MK)6;9RPBMRIN19"E-J\B0RR/[$^YA:GU]XRF\9WB1,H!Z0*/A(PB , M+NA9_3-\.+TA)^K+'3F^Z+_+?2/8J \VZ:+EU)R_+@ M6&S7'^)H&(R#3J;1]*%W;)7Z9R^R E6X1M7$9=E>7F_M M9\'"M< [^Q)G1-O2;S3M@,$G6#"A"8<<*8/!9Y2EVJ9M-T;6[MUOI<$N&ULM9IM;YM($,>_RLJZDUKI+MYG MH'(LQ;B]]J1*4:WV7A-[;:-@\ %)6ND^_"V8,#C KNV0-PE@9G9V9OCQ!W;R ME*3WV5:I'/W<17%V/=KF^?[#>)PMMVH79%?)7L7ZEW62[H)<[Z:;<;9/5; J MC7;1F&(LQ[L@C$?327GL-IU.DH<\"F-UFZ+L8;<+TE\S%25/UR,R>C[P+=QL M\^+ >#K9!QNU4/GW_6VJ]\:UEU6X4W$6)C%*U?IZ=$,^S*53&)1G_ C54];8 M1L54[I+DOMCYLKH>X2(B%:EE7K@(]+]'Y:LH*CSI./ZMG([J,0O#YO:S]T_E MY/5D[H),^4GT3[C*M]/T/(A MRY-=9:PCV(7QX7_PLTI$PT#[Z3:@E0%]:RLVRF26UGKZ85S4?9&G^M=0V^73Q:'>*%FC1;B)PW6X#.(< MW2R7R4..AK$N?;#'V,5VIU;#_6LZJG1I^G-J-& MAPNUOT(,_X$HIK@C'O]D<^)UF,_-YG.UU.:DR_QH-JPN%"O]L1Y_/;DW>.:U M9UYZYCV>OZE'%3^HK*MD!TM16A8(>9PRYF$IN!"3\6,SF>TS"79=S^..5Y]Y M%)ZHPQ/&\*I6S#1EEBI\#.XB]0>*5=X5[L&3; 1!/>PR2N1QM'/1BI8Z5'#) M>'>PL@Y6&H-=!)&^4HKJZ*OJ7I47D/JI(9UUYU>V F9$4D4GNWT0_T(WALO"J\?T!K[@" ;HXDLO.;\R/>I- MPIB0GMN=1-)@/3&GL9V]=X%N5[17:?%#%[5]BT^*KS#^W905"N'10:L\,XT* M7"5#@Y4 6Y:52 M'"4#UYD"H:B94*8Z5Z9'=9:NPUROY^9' 5&4#5]GBT\B;74&RE$SY77&46GY):LL^ :\PLM,YX#O(K5TL"D #@0D0^M]#A@CELP=\FMV.*3VZ0U!P1RLWH[ MYZ58Y>KH9D"9X$3(GB9HO#E\C?*S-,$G4R: B'QH&&9KYU]T:$/"78QZ[LO" "G,$-N@';X;,H)(%(, MK1(%<$^\@4JT^+2W0^.+B5DEGMT.;:6HNT$PC_4\+@A J##C;H!V^&+*"77Z). M)(($2LJA]:($[,DWT(L6G]86D !#>:)>-'SEDVV=Z'+&)._Y'B$!E]*,M@NK M_K=IZ@!#.;1 E(VOO6\@$"T^";%5'9@G7_]M5[:%H<.$'13+H-Y<7Q&/OB'93W@YK#*Z&N0;L(X0Y%::Y?XRM%1 MI8>%.X>=/-F72UGNDEP_=Y2;6Q6L5%J&PO=V]R:W-H965T'I(-(+?0FK1,"==,T[<$-!V(UL:GM0/OO M9R=I!N4R^C#M)?'ENQS['-GN+KEXD!F 0D]%SF3/RI2:G]JV3#,HB#SATY3F@7A#(KZ59C0Y%T>:ERRF HD"R+@HCG<\CY MLF>YULO B,XR90;LI#LG,QB#NIL/A>[9KW2HU Z)(TA5\B81!:S73J/);L75&*#.5.%9"SU+-4\FXKD#$IVA,9XQ. M:4J80F=IRDNF*)NA(<]I2D&B3T@G7Z>6H7XI!+#T&8VH?$!' U"$YO)CUU8Z M(J-KIXW[>>WN[7*'^0GRG6/D.9YS-QZ@H_?;5/IO4.E__8&./KQS0_QYF]1@ MO]0 4BWE&BDWWAW0Q1M4_A+0Y<%KVQ?0U>$!15M5;%TW;?%X;?%XE:R_0W9[ M/?S\HF'H1D$A?^TQ\5L3OS()=ICTB2+D@.3,EC- *I!$T53.I) MPB8;8RN$;<59&^/*V!S9BR1T'=?%D=^U%ZM%LPG$<1R&CN^N R]JH.NL(%T_ MCATKE%,_3"N!/$Z\"K36 41-K?_:.XMK%!N['!WHT=W9[O20]N5?"_ MJX&P-0G_5PV$&[L;>#'VH^!5:OOA9FJ]V,-N'&/G5;EL:NJ' 0XZ_NN,V2L' MM[GX;XF84291#E--=4XZ6D/4EVG=47Q>G>7W7.F;H6IF^OT!P@#T_)1S]=(Q MUT/[HDE^ U!+ P04 " !;@8]1&NMR8_D! =! &0 'AL+W=OYO>; M18B/ 2\">G=ADU#)P9C7X'P_KI,T" ()' ,"\\L)'D'* .1E_!HQDXDR)%[: M9_2G6+NOY< KA!RA8IW$O>F_P5C/;<#C1KKX)?T8FR:$=PZ- M&I.] B7TL+*W\1XN$K+YE81L3,BB[H$HJMPR9$5N34]LB/9HP8BEQFPO3NC0 ME!*M/Q4^#XMR: 8Q%2E%K44E.--('C@WG4:A:[(S4G !CGPF>^#P[M :[6T. MOD_HR,T6D GI/N84O;A 0?DH9#,(R:X)@79&%NDGDJ59^EQNRRR"'!#P[A1BF!\:;^ M=C\#]FW$#F_I5&2KU?+KW3*GITM1]*+;X>'\8+86VGF2RF>FLSL/88=A'!PT M;1R @T$_3M%L_/L%&P+\>64,GITP4],?H?@#4$L#!!0 ( %N!CU'E>%;L M7@, (8* 9 >&PO=V]R:W-H965TMDQPJ4=^J/4A\DRE="8-#O7/KO0:1 M-J"J=)GG!6XE"NDLY\W<@U[.U<&4A80'3>I#50G]:P6E.BX=TX7A6$920&$LA\.\9UE"6E@EU_.Q(G7Y-"SQ]?F7_OS&/9K:BAK4JOQ>I MR1=.Y) 4,G$HS:,Z?H+.T,SR):JLFU]R;&/YS"')H3:JZL"HH"ID^R]>ND2< M .@U .L ; C@5P!^!_"'@. *@'< WF2FM=+D82.,6,ZU.A)MHY'-/C3);-!H MOY#VNS\9C6\+Q)GE?9*H@S0U>80$BF>Q+>$CD;C?WF_ B**L/Y ;\O5I0]Z_ M^S!W#:YH<6[2L:]:=G:%/29?E#1Y3?Z3*:0C^,TTGK() A>M]G[9J]\5FV1\ M@OTM\;V/A'G,&Q&T?C.LUSF;3D&) MI4O(! @609*JP]9DAQ+K22O_;B(50;]$,)F*E2B;!80A6]@54A9R1U1&3 [D M%PCM[D$7:FQ[KUKBX,3U#0U#3F-VGIYU<)&>&\JB@-I->I;',<9!X)G)L#<9 M3G_O-"UL):Y)D@N]@Y08A14UQ2*Z-01>\**I1W= >"G(9\P/Z,!A>.F0!\$, M8P<.1PBYW5.S:-QAU#N,)AU^UX6!&Y5E8RZBBT4IIRP(!MHNP]!HX(57-G'< M2XLGI>$5AA>4Q#1C\N4."&097HQC0N/+[ 2<#Y*]N8S"8SFND7I_K@KOK>< M9/K&$]!QGF_8.* ABP::1R,'A^5<^'I+R)#2NPU1EFZ;GG9@U+YI [;*8%/1/.;8*(*V ?@^4\J\#NP"?>NY_ U0 M2P,$% @ 6X&/4&ULI95=;YLP%(;_BH5VT4I;^,:A2B*UR:;M8EK4J-VU R>)58.9 M[7SLW\\V!-% LDF[ 7^<]SW/,<:>'+EXDSL A4X%*^74V2E5/;BNS'90$#GB M%91Z9L-%093NBJTK*P$DMZ*"N8'G)6Y!:.G,)G9L*683OE>,EK 42.Z+@HC? M3\#X<>KXSGG@F6YWR@RXLTE%MK "]5(MA>ZYK4M."R@EY242L)DZC_[#')MX M&_!*X2@[;60J67/^9CK?\JGC&2!@D"GC0/3K '-@S!AIC%^-I].F-,)N^^S^ MQ=:N:UD3"7/.?M)<[:;.V$$Y;,B>J6=^_ I-/;'QRSB3]HF.=6P2."C;2\6+ M1JP)"EK6;W)JUJ$C\*,K@J 1!/\J"!M!: NMR6Q9"Z+(;"+X$0D3K=U,PZZ- M5>MJ:&F^XDH)/4NU3LV6 BI"<_3YI/>%!(E(F:,?:@<"S?="0*G0HY2@)+I; M@"*4R7OT";VL%NCNP_W$51K!&+E9D^ZI3A=<2;>":H1"[R,*O, ;D,]ORQ>0 M:;EOY'[Z7N[JPMOJ@[;ZP/J%_UO]C5QAFRNTN:(KN5X)VP,B>0XY4N2D?X&, M'T"0-8.A=:S-8FMF?L7#+$JB%(?)Q#UT%ZP?%^+8BU*_C7M'&[6TT4W:>A$T M(]"#091#C+5%TLT]CI,PN&3LQ_DQCJ,$#S/&+6-\D_$Q/Y R Z2X/H2JBE$0 M@YAQ+WT:!SCQ+BC[87X&ULM5==;Z,X%/TK%MJ'&:E3L+'YJ))(;=+5KC3=C:8[ MN\\4G,0:L#.V23K_?FV@0 AA1I7RDF!SS[W'Q_C8GAV%_*9VE&KP6N1J<<;J60)5%D<@?#S07Q[D#G;>.+VR[T[;#7&R%Z )-G'( : !H"\ 6 WP#\ M7P7@!H K9>JA5#JL$ITL9E(<@;31)IM]J,2LT&;XC-MY?];2O&4&IQ=K:3XA MJ7^ A&?@\7O)]F92]0W@YI/[L*(Z8;GZ"#Z!K\\K\.&WCS-7FZ(6ZJ9-@8>Z M +I0( 9/@NN= H\\H]DIWC5D6\;HC?$#FDSX3/>WP/=N /*0-\)G^<#V%Q8V'-X.$GN[\V&I;23M1)A4TK.="GIU/A1 M5P)=4>;.*Z'_3IG],_%\', (#D4>B?,Q)A %7LI M#M0.>U+9SFI@=$5E.^N!\3N5C<]W4Q+ **AMO&Y>V#H08^,JXLZPT+3AK44 M7&E9UF=OQH&19"O-7CQU/NL,!\'KZ8LZTT'H7?JN&EQ?WS P%Z&!:&[OU%Q0 MN:UN'PJDHN2Z/HZVO>T-Y[XZUP_Z'^#=LKZG=&GJ:]-3(K>,*Y#3C4GIW8:& MDZQO(G5#BWUU-G\1VISTJ\>=N;U1:0/,^XT0^JUA"[3WP<7_4$L#!!0 ( M %N!CU%7]P:A"00 'H2 9 >&PO=V]R:W-H965TCU/:]X\AH PF57;Z%5#]9 M<9%0I8=B[;SQE:TW*KOAC(=;NH8YJ._;6Z%'3LFR9 FDDO$4"5B-.I?X_0WQ,H"Q M^,%@+P^N49;*@O.[;/!Q.>JX64000Z0R"JI_[F$*<9PQZ3A^%:2=TF<&/+Q^ M9+\VR>MD%E3"E,<_V5)M1IU^!RUA17>Q^LKW-U D%&1\$8^E^8_VN6U/>XQV M4O&D .MQPM+\E_XN"G$ T#SU %( 2%N 5P"\IX#P#, O 'Y;#T$!")X"_#. ML "$;0&] M!K"^@7@+Z9W7PZS%S.J*+CH>![)#)KS99=F 5AT'H*69JMW;D2 M^BG3.#6>;[A0[Q2(!$UH>HOW@P=I7UF M2"*S8A5L8O MD>HB#[]%Q,6#NH3L\#EL-=S-X,2MR\<.GT%D]7YEAW_:I5;OUTWPN/3>KX%_ M:.V]%G[3WGMHF4FO7/N>X?/.\$T%+)E"*QJQF*D'"Z-?,OJ&T6_>38ML-RW* MW52W4'*NP'!E/>9^C/T^(3C$0^?^<$F<&@Y<3$(_*.V.H@W*: -KM$_R;ZQK M6/*&SU377LG8LT;ZC2L:HRCGI?=:E>@B!K336UH@M6'RC+-\/_=.RA>ZYN^X MS%>G=AC7&=XT$QYEV2^S[%NSO$SX+E7%HJD7RYP@/ H1UX0X.S7L]2PA#LH0 M!VU"%+"EK#; P6EIO+KX3NWPP!(?=JM^YEHC_$$%,XN#I7H?@M3!4@7H@DI$ MT19$!*FJZV/3!MZ@BX/7EJ6,#SHNMC+]-.]3L-0+&81^/WP2*5\A>2 C!_VX M*859@^.@&WC6%$B5 OEGY>C;F"M)QL^ER;@296Q7Y?]3#WRJOGZ=*DS;&EZW M-?S0PO"X))7R8[OT-TO-K& XVLJ^S7G5'G#X?R)2X ]=>Z1.15H8'L=8-1QL M[S@OMDFG#8Z];M]_73L?=ES8Q<2ZN:LNA.UMZ';R96JR?(MX"N@!J$!_T+^^ M+."JI>#!,VUY4G4!\C)=8-+ B[N>:ZLRJ;H L8MQ^RK;A)54DDW(-ZBOLG/PH9N 6)M##XFB3$_R;][R;GFP!YF#\KAI_!=0 M2P,$% @ 6X&/45QF^>]V @ :08 !D !X;"]W;W)K&ULC95=;YLP%(;_BH5VT4I;^;1;*H+4)ILV:=.J9NVN'3@)5@UF MMM.D_WXV$$0#R9:+X(_SOGZ.;0[)3L@750!HM"]YI69.H75]Z[HJ*Z"DZDK4 M4)F9M9 EU:8K-ZZJ)="\$97<#3R/N"5EE9,FS=B#3!.QU9Q5\""1VI8EE6_W MP,5NYOC.8>"1;0IM!]PTJ>D&EJ"?Z@=I>F[ODK,2*L5$A22L9\Z=?SLG-KX) M>&:P4X,VLIFLA'BQG6_YS/$L$'#(M'6@YO$*<^#<&AF,/YVGTR]IA)JPV'=7.S;LW[=LW@Q)I+J*]0Z'U$@1=X$_+Y M>?D",B/WK=R/W\M=DWV_!4&_!4'C%YWP:[/5=(]J^D97'-142JT';CSLJ_&: M1IA$Q,>)^SID'\>%01A'H=?'O8,,>\CP+.3AG* [IRG$UH$,$0G!.(Z/$,=Q M@>^1. ZG$:,>,?KW/DZ"1:,%XQOLWY CKG$8\6(&PO=V]R M:W-H965T(!Y!0DZ8%!DHC4=@TI%4@ M*K9GDUP3"]N7V=<6OCVVTV:=-'C82^*S[_?GG+L46[(OKD5D>-7*N%G2,G=7 M:>JJ%K5P(^K0^),562W8A[9)76=1U!&D59IGV7FJA31)6<2]!UL6M&8E#3Y8 M<&NMA7V;HZ+M+!DG^XU'V;0<-M*RZ$2#2^2G[L'Z*!U8:JG1.$D&+*YFR?7X M:CX-^3'AI\2M.UA#J.29Z"4$=_4LR8(A5%AQ8!#^M<$;5"H0>1N_=YS)(!F MA^L]^[=8NZ_E63B\(?5+UMS.DB\)U+@2:\6/M/V.NWK. E]%RL4G;/OV[1PGV'5K T#=R9BC3"\0]R[N04C&^+XUMD(94[@2.0 M!A92*7^?KDC9ZP>6M-IIS7NM_ .M2UB0X=;!5U-C_3<^];X'\_G>_#S_E'") MW0@FV2GD69X]+6_A^.CD$]K)<">32#OY[SOY1&0ZB$RCR/0#D1O2?K"!T%@^"N5[U!+ P04 " !; M@8]1)4>TI$4" #8!0 &0 'AL+W=OM#I:AIMV<'CF#5V,PV2?;O=[8)2]LD MJ_8"OO-]WWUW<)=NI7K6%8 ANYH+/0DJ8YJ;,-1Y!375 ]F P)M2JIH:--4Z MU(T"6CA0S<,XBCZ'-64BR%+G6Z@LE:WA3,!"$=W6-56_I\#E=A(,@[WC@:TK M8QUAEC9T#4LP3\U"H17V+ 6K06@F!5%03H+;X_9OKG:L944US"3_R0I3 M38(O 2F@I"TW#W+[';IZG,!<9-O%1@')6VUDW8%107&\<&JMAPG[%I5%XRQ!G MLCN1RQK((]V!)E]W^'-H()_(K%4*A"%4%+8I@%9!&JEN(3>J[)O12F0BVB@.(E/L3:^@+C M?8'3^"SA$IH!2:*/)([BZ(B>V;OAP^LSI:Q8['SO\D27 =IN#ELV-N@X=5PU >]$#CN!8[/"GR4AO)CBL;O M4?0VZ(BB\&!(:E!KMSLTR64KC/^=>F^_GF[=5+[R3W%M^2WSE\;OO'NJUDQH MPJ%$RFAPA9*4WR/>,+)QH[B2!@?;'2M /WJUL" V!@ &0 'AL+W=OX\MALE/ZT12(!/M22#,-"J+J*@Q-6F#)3$]5*.U, MKG3)R';U)C251I9Y42G".(K&8'@7N^*<@-A,FD8AM<(3U42VU[84O)>(G2<"5!8SX-KOM7\[%;[Q=\X[@S M1VUPF:R5>G2=VVP:1,X0"DS)$9C]/.$>43$-/@6085T"^)&$+\4#%\1#!K!P"=:._-I+1BQ9*+5#K1;;6FNX??&JVTV M7+I37)&VL]SJ*+F5J2H1OK(]&KC9V\MA$,X62(P+?_RA)U!NW,#SQN\8>=.8(P-WF._FH#L3UH1O8XF $&%>H4)76> MQ&EDU(NB]UT;]F;9LXQ&;4:CDYP'J3%5&\E_8>:36J/$G)/IRJ1&C3S*5:"G MQ![U4T?T<1M]_'_1+X!+0HV&@,G,;J]D@CAVNAK_U55X] 1+U!M?F0RD:BNI MON+M:%O\KOV;?S$^LT6QKF%_,'5%O6-ZPZ4!@;E%1KV/UH^NJU3=(57YA[Y6 M9,N&;Q:VL*-V"^Q\KA0=.BY ^U>1_ 902P,$% @ 6X&/4<+,9,QP @ M$08 !D !X;"]W;W)K&ULC57;3N,P$/T5*]H' MD%AR:U) :21:]O; JJ++[K.;3!L+Q\[:#H6_W[&39DMI*UX27^89"3[S*F.;&]W5104WUI6Q X,Y*JIH:G*JUKQL%M'2@FOM1$*1^ M39GP\LRMS56>R=9P)F"NB&[KFJK7*7"YF7BAMUUX8.O*V 4_SQJZA@68QV:N M<.8/+"6K06@F!5&PFGBWX#C=X9$^MD*>63G?PH)UY@!0&'PE@& MBJ]GF 'GE@AE_.TYO>%("]P=;]F_.N_H94DUS"3_PTI33;PKCY2PHBTW#W+S M'7H_B>4K)-?N239=;)QZI&BUD74/1@4U$]V;OO1YV $@SV% U .B?<#H""#N M ;$SVBESMNZHH7FFY(8H&XUL=N!RX]#HA@E[BPNC<)9;_ @&^X7/>FT(XV.D%Z3>RE,IC,!Y?#7%O](X& MO:.3>F=4%%@HU!4.*C;;2S^NN"-,=Y2$<1(%29($A[4D@Y;DH[F;YTK[#';D\I##M-W#M/1>!R,@WV#_DYUU:#6KNEH M4LA6F.X3'E:'OG;KRGEO?8K]KFM/_VFZ9GE/U9H)33BLD#*X'&,.5=> NHF1 MC:OAI338$=RPPIX-R@;@_DI*LYW8 X:_0/X/4$L#!!0 ( %N!CU' D7^. M%@0 #H0 9 >&PO=V]R:W-H965T]8\R@YSP3>A;LC"F^A*%.=BRGNB<+)N#-1JJ<&ABJ M;:@+Q6CJC/(L)!@/PYQR$S %M&+&.)L1 4?I[8@F6910(>?U6@0;VG-6P_']%_=8>'PZRI M9@N9_4#*K@8T^^!\XZSA M-%S8,*Z,@K<<[,Q\M:.*?;X%1Z1H(7/(#DV=?S\C]PK)P@XUNKICAO),7T]# M _M:ZS"I]K@M]R!G]IB@>RG,3J-?1,K2U_8A\*U)DR/I6^(%7+&BA_KX9T0P MP=]6=^CJTS4W+/^$0J0M:UW^[:"ZN!@YFE3(#:J'>K_V=]]M,#BW@9')X]&I M'KQ!C3=P>/UWQL\#'=?0L9?J5T6% =@K+E JLXPJC0JF2E]4(2S! MQP[B:?C4#H9_S2O6PYKUT,OZCRI?MRWV)4E+^3S=$G78HA(-XGA$ M8HR["8UJ0B-_Q%V$UBY"2?N&L6?[S*PCNPB5J'&+$"$30F)RXL,?UPWZDR$^ MX\9QS7I\>9X"1;@/!)6^1C4C7 C:]C+?P&*HZ!&[&F&#%-Y MIVKY(2*,7A@DO8]/2V8C+]B-$);*$].&BZV]1PD3!@IE)S$_%L$]C'_RT2(- M+>*%^E[Q$?M\#5=;;A 5 NJJTE1Q9@-O=;63(_GAPL3=*12*L,37H *(66_)9"1<.4A[EPW535AL+O- M!BY31#>0J2Y;N2@E N+!\B*3+_#A9#JCX"=!4.XJK^]$C;!&?F6])#KT^:WH M-+(9C3X\.HVZ17YY^Y^BXR?1OR ZC9A&$R_8 ]QDQ1-;\LHBA_:"&Q\V:<24 MX(\.!6F4D?C5[.L["W4%]ZI2QZ/QV3I-&C$D?C&\I&:\ 7%!S2"-'!*_'+ZK M9KR!1>(W:@9I9),,_J.:40&W0S!P/1R?4PU87EC.U=Z@N6?*+H#W&RG-<6 WJ/]= M,/\'4$L#!!0 ( %N!CU&(VWX[B0, .H, 9 >&PO=V]R:W-H965T M@0J0=F'1]<.=5D6]?O8F M UCKQ#G;P/+O.PXA"TO6I57O"]C./$_F\8S'D]%.JF>]!C#DI1"E'GMK8ZI/ MOJ^S-11,]V0%)3Y92E4P@U.U\G6E@.4UJ!!^2&GJ%XR7WF14KSVJR4ANC. E M/"JB-T7!U/X>A-R-O< [+GSAJ[6Q"_YD5+$5+,!\K1X5SOR6)><%E)K+DBA8 MCKV[X-,\""V@MOB7PTZ?C(F5\B3ELYU\SL<>M1Z!@,Q8"H9_6YB"$)8)_?BO M(?7:=UK@Z?C(/J_%HY@GIF$JQ3>>F_78&W@DAR7;"/-%[OZ"1E!B^3(I=/U+ M=HTM]4BVT486#1@]*'AY^&_TC!DV&2FY(\I:(YL=U.&JT;C!O+29M3 *GW+$F1;]!3^SX_:[RZ/W@5ON/5/W+;(S3]2$(:##K@4S=\ M 56/1-3"0]H!GUT-#X8=\ &E 8<9TQ<[-27MI_\^N37?# M@DO8F:2XE10[>69\RW,H<[+G(')RPS1AI *506FZ$GGJIJ,]2CO5_#3L3$W2 MJDF X8)DIV>[DQVQN;^0)?4=/92VD["09*FF(?;4]&79G$X2/OG M5K-+JW201/3<:GYI%<3!L/]*=J8\;96G3N4+([/G8U%R[&2_Y>O_[E,T:*D' M3E1QU L&G1GX US82YPI.&S5#7]! M'7NY4IV;'-5%W>I^B M#E[J OMZ?U$DUE:51V!]M\(AAS2LZ;RLW14#)'IC2 MG5?-KT#/I9RT H&3;'YQJ6_*')38\W)%M#T FF#ML _RILX?#AA9*58:?9*U MO"2Y% (]L]$]@#OCV[@T.#G^M/>FW#QT&M%A=X4(7B_&(/R_]1[S^'J]89?> MZ*W@3JLW>OV3KL]^!?S-U(IC!R9@B2C:ZV--58?&^C QLJH;P2=IL*VLAVO\ M& %E#?#Y4DISG-C>LOV\F7P'4$L#!!0 ( %N!CU$:5XFF%@4 "H6 9 M >&PO=V]R:W-H965T<74W6&F]OO4\-5^QG*H;L6;"0V.DLY>Y) ;?*U-[UZ#HRDR(U^+F MS^1N M%+&-S7;B@YF_+)BS+"D]&QS^UTT$3LS#\^J?O M=2+V#'#088!K WQD@/P. U(;D+*CE;*R6X]4T_%(BC<@B];&6W%1YJ:T-KU) M>3&,4RW-V]38Z?%T126[?C")2,!$Y*8Z%"WS>PVFU<@"L0!TN91L234#8FVS MG^H/-L(*]]Z\%O%0B< =(F+P17"]4N S3UAR M:.^9#C6]PKM>/6"GPRE;WP "?P488MBB9]+;',4..:1),BG]^5W^M)B_UJE3 M#G]^X\\O_9$.?W]M\AF3Q<"<]QDT/@.GQK\W6FG*DY0O =5@QI8IY\6-B:)7 M#'PP*L%5RH$J*D:UCG(5(2PC%/S8CE$((PCC"(^\;8NXL!$7.L7]+BG7ID+/ MQ ]/X_M!,,0!A.WQATW\H3.^(<:"I3T4#$\47 \1C (8M0N(&@&1>W2J<0;L MG#XDG)B/+FDD.(343CRH>_' M0[]=%H*6=] I['.503K+#,SXI<)JYP=YQ5$8(40Z$H;V2(RE85NCA?V*K"3M9\*R="HX5NF303>U."8"W3.7.0!UD\(C[,G$5E&I0)K0[\R'^WIJ*)%>^F -S#HR(2%+O)[0ZBGD,HA0H=*(.S (;*P M1FY:'P*IIYK*)<*':DB'%LMFY(;SYP,F]=02MFKIJE;+:>0&=0_L]!0X;!78 M-7"6X\@-\A[XZ2DP:A785>66V\@-[C,4ZBDN;OL".Y*'+;LQ=++HOEF&IES+ MU.PEYF!+LXV+0MCR%[OY>SK'TJYX^ZEH34 =*MA+0.S[:&]XZG7H:;O #R#J M^"BQQ3:^$-O+@EX@*3JSH*D\GS=+;^RF]^5I<3;!Q=JQ5M#LP*8FD %YM3E#T)3/AVNO@>V< M@=US1K7MG)7;S@.Q!72X8JUZPY,D8QQC'.#CRCEMZ),XA%W%8V<7[)Y=GDTY MF$5/61+E:LQD/=7.C-B) 4?_VYX.6YKC'Z*Y8TV)6];@,8I]LY]K3R.Q&"=N MC'__DI)8F),?6DSWXU0=XPA!'9\TL6PF/YG-9._@P/,X'Q"3VB<_0@ M%N+$#?'OH0=I0;0_1"0ZWA"W-,1#LX4/AT?C[NV=NN5,+LO#2&4$;;BNCJJ: MI\V!YWUYS'?T_ '=3JIC2^NF.D7]0J79"BF0L85Q"6^&1I6L#B:K&RW6Y=G> M3&@M\O)RQ6C"9-' O%\(H7'C\'U!+ P04 " !;@8]18D7??K\# M >#0 &0 'AL+W=O^%_*$V )J\Y!E7$V>C=?')==5R SE5-Z( CF]60N94XU"N755( MH*D5Y9D;>-[0S2GCSG1LGSW*Z5AL=<8X/$JBMGE.Y>L=9&(_<7SG\.")K3?: M/'"GXX*N80[ZN7B4.')K*RG+@2LF.)&PFCBW_J>9'QN!G?&-P5Z=W!,3RD*( M'V;P1SIQ/$,$&2RU,4'QLH,99)FQA!Q_54:=VJ<1GMX?K/]J@\=@%E3!3&3? M6:HW$V?DD!16=)OI)['_':J (F-O*3)E_Y-]-==SR'*KM,@K,1+DC)=7^E(E MXD2 =IH%024(W@H&+8*P$H0VT)+,AG5/-9V.I=@3:6:C-7-CNP/JBM#ZSU08OU9[Y#JVCQPCC!DZLTY2GC:T(U6<":<6X&B*(W M0%Z!2G+%>#6_<>E*YT/KW)2%W33RXB!*_&#L[AJPHQH[ZL3^35)N4-]Q'UVX M]Z-X%'E>L_=A[7W8Z?U;F;)WG \OG?MAB'\ML<>U][C3.]:@%; > '$#0!PG M7EOXHQI@]!_M&>#IS^R6T05PD/C)P!NU "(TI^ MDLCWCL73ZSS6W^VO!)+0'4C\U2-KLZ5)2C60%662[&BVA8X3[I_4:?]_/^.I MR#(J%2FP%%EM^ M)T?8Q!&T9>18M/WNJGU> GJR#!IS$K>P'"NQWUV*_UTUZ,D>-;(G+>S'.N[W M*N1MA:$GW+!AT[>R':N\WUWF/^=%)EX!R!SDCBWQ:ONMQ46_=4T>Q&$-;O=4 MINKZO!][$!H3KK'Y6HHU9W]#>GUFK!21K[@P$E>'VY76/T\LO MAR]48OU2)(,52KV;&)W+LADO!UH4MI]="(W=L;W=X <,2#,!WZ^$T(>!<5!_ M$DW_ 5!+ P04 " !;@8]19RGW:/P" "X" &0 'AL+W=O_K M=08YU1U9@,"=C50Y-3A56U\7"FCJ0#GWPR#H^SEEPIN,W-I"34:R-)P)6"BB MRSRGZO<4N-R-O:ZW7WADV\S8!7\R*N@6EF">BH7"F=^PI"P'H9D41,%F[-UW M[V9#:^\,?C+8Z8,QL4I64K[8R;=T[ 76(>"P-I:!XM\KS(!S2X1N_*HYO>9( M"SP<[]F_..VH944US"1_9JG)QE[BD10VM.3F4>Z^0JTGMGQKR;7[);O:-O#( MNM1&YC48/ WH? *(:$#FAE6=.UIP:.ADIN2/* M6B.;';C8.#2J8<+>XM(HW&6(,Y,?^%"^2ZW) A199E0!N24SF1>EH2[.WG3\"3A$HH.B8(;$@9AT.+/[&)X=WC" MG:B)=N3XHH^B7>:@J)'J[@19KR'K.;+>F:MK"W.%C!W2)O+KY#9,XB0<)MV1 M_WH8@!;+"&,5=).PL7SG7MRX%Y]US[T1:HQB*WQ/*P[$2")5R@16C.KA9)*G MH%I%Q!>+:+$\+:+?B.B?O#"7$=H^;B$Q^^S579^ZNT'#.S@9G&=77C"3Z"L^ MB"T04>8KS"7,MO?AT01+KS:8?$QL;\C4I>(5$_5N:XY51_:,QN1RC2VF9S0.&XW#RYXX4"70^X-Z M>/M/T6Q34=$GA^\VZ 3' LY95;[[!TT J\S6]49-UK(4IBJ8S6K3?N]=USE: MGV);KKKH7YJJIS]0M65"$PX;I PZ \PX5?7):F)DX5K-2AIL7&Z8X:<%*&N M^QLIS7YB#V@^5B9_ %!+ P04 " !;@8]1UJ19W/8" #R" &0 'AL M+W=OD[EC!I9*?..5K>?1-"(5K%DG[*W:?H0A MH9'C*Y4P_I=LAU@:D;(S5C4#&!4T7/9/]C@48@> /(YRQ-G%9SPIGY0QY 8T6=5, M SGIGX:@Z\8R67&Y(5O '7@L15=!1=9:-<360$HFRDXP[XA:DXJ+SN*^1%;A M6%MD51H9\(@0X^G?7(!E7)BW^"*_8F:QQ4R$A*WO.L>=TM\K#(DNR-"OH*)_%#[M%?AF9HA_Y M-$O3$/E,^"@('QT5WE=#M:Y4YD@AQH%O_#_Y,PFR)O_ G\G+JD]SFN?%9-^? MEY')F"99D8V*P_Y,@_#I4>&W8*SFI;LZ^BN!=)+;8TX5@;GXGYQ*Z)][E_X# MKP;29V8529'3*=WSZD D>D6GQ3C;\RK>Z1X-Z(UOJH:4JI.VOT'#:FC<9[Y= M[:V?NX;NN](?FOYKX)KI#9>&"%@C)3V=X-]5]PVVGUC5^AYUIRQV/#^L\:,$ MM O _;52]FGB7A ^T"I*UQOAO4 M5J)E:+M 0G1LUZ8Y;2(2.[,="O]^QTX:"DT+VDT;.W[?YYQCYWBR%?)1Y0": M/%1#BT0Q^9E.'FHB@A)4V%@S_ MGF !96F<,(Z_G:G3,XUP_WGG?FV3QV0>F(*%*/\4F/O/GKM"[ G09UC@=P+_O2 \(@@Z M06 3;2.S:5TQS683*;9$FM7H9AYL;:P:LRFXV<:EEOBV0)V>+415%1KW12O" M>$86@NN";X"O"E#D[ HT*TIU3KZ1^^45.?MR/G$U8HW8776(>8OPCR!20;96[V+X?8Q^[N8Y_Y)PR74(Q+0K\2G/AV(9_%IN9>>""?H2QA8O^!_ M2C@Z 0A[0&@!X1' '5JSDL S?KL*=Z7!.DJ"7[)D!D1*P'.LAC:F]8VLK_F@ MGV8>3>,D]B?NTW[!!M8%P3CTDW[=F\"C/O#H9&6N&]U(:.,C-7MI:_29\-_@ MXAX7GZS3KQRPLYC>96S%^MCYF+MXP+>UIZ4>T8(B6'M!B&D;1,,RCKUV)GMY* M@2=^L-70@Z/JC\=QFL3OD.Y>3ZQ ;NQ5H^VK37O'W3"Y*;C" [Q&2SI*,"K97AOM0(O:=MX'H;&/V\<A @ ^P< !D !X;"]W;W)K M&ULK55=;YLP%/TK%MI#*VT%\Q6H"%*3;%H?.D6- MNCT[80U4I)JGC M]T!JF9P*>+C>LW_3QZ^PU!0H/@R6G'] MBW9]K.]8*.NXH/4 E@KJLNF?Y'4PX@#@1F< [@!PCP'X#, ; )XNM%>FRUH0 M0=*$T1UB*EJRJ87V1J-E-66CKG$EF'Q;2IQ(5["5ER+0?=/_)92U5PL0I*SX M=6(+F4(%VME -^OIW#-T,7J@C2@X^MKDD+_'VU*:T>?N]O_OX0BK;UA]S>J? M8?W1U6M@B&[DU])2)LBZ C24SM%?=-Z%64\<:F+U';^D.+%?3F@)C)9@7 MM MOF0=8ZI*PCD(?BIMSQ$;)+WEW0B#L=A&'NG189&9#@J"%N*#5H4O8.) $KQS)\2^ZQVY>"+0"WQGXCM'-MH'[;4&MM53AZ.,=HWH M.ZTY-9/M3O=S^RV\'XL/A&W+AJ,*-A+JW$QD=M9/FGXC:*N;]9H*V?KULI#3 M&9@*D.\WE(K]1B4P\S[]!U!+ P04 " !;@8]1LUVUU6P" )!P &0 M 'AL+W=OJNG9=F>98$#G@%99Z9,[KQ-W=)J0@9ILI0$/W: MXP(9,TRZCL>6U.ER&N#Q^)7]LQ6OQ6R(Q 5G/VFF\IDS<2##+:F9NN.'+]@* MB@Q?RIFT3S@T>Z.A VDM%2]:L*Z@H&7S)D^M$4< _QP@: '!6T!X!A"V@- * M;2JSLI9$D206_ #"[-9L9F"]L6BMAI;F,ZZ5T*M4XU2RKC<2'VLL%7S:F^?E M$A6A3%[!1[A?+^'RX@HN@):PHHQIXV7L*IW7H-VTS7'3Y C.Y%AB.H#0_P"! M%W@GX(M^^(H\@S\YA7:UV$YQT"D.+-WPSXK1*.ZA##O*T%*&?VEB#^6PHQSV M5OF=*\(@)3*'5)M.,Q2D.?>URKF@+YB!XK!!_2]5M4AS?92S4Y^F23.U:P1..Z;I>WGF>[\[@/=_76OYCVV+ MAI-1&'EO?'./^I2Y)%9$[&@I@>%6([W!6)\[T?3=)E"\LJUKPY5NA':8Z[L* MA=F@U[>^C<2:V-XNA"TU#;&^!5@)2D+(ZOJ>*B(WD:]@XF3_6 M4G1P,)$=E.+F]SU(/69D1RX;1]&TZ#=HGO:\@0? '_W!N(@N*I50T%FAN\A MG9&[W6W!?'Y(>!0PVM4Z\DY.6C_[X&N5D=@7!!)*] KR)7Q:]8D MRR<]N%Y?U#\'[\[+B5LHM/PI*FPS\H%$%=1\D'C4XQ>8_>R]7JFE#<]HG')W MUR0J!XM:S;"K0(EN>O.7^1Y6 $LV #8#[#]@MP4D,Y $HU-EP=9'CCQ/C1XC MX[.=FE^$NPFT%ACLNX;S_NFOT(9. M,>GL@XX?BG/.]DG"XIN4GM<.Z*H+?@*^<].(SD82:D?&5S=.PDQ_U12@[L,- MGS2Z-H=EZP81C$]PY[76> E\KY?1SO\ 4$L#!!0 ( %N!CU%@0,K=:@( M &(- - >&POXJ!PQ8\@CSDMTQ58!(E%P%T&M#P [?XP"ZWF<(+.Y6Q#B CV#G M?P-;W2;V[_5L$]MMGD;UMK)>[C0]$?J)X%UK3*$-:#YB&"P1#> MHF0AB5F5 M($;HRH8G)A )*B10NB=U0==$BB>;=JUGVK7A,,*%K&O;"O9[T4S?2JP](Y!0 MV@J<0!L(_1PIA26_TTX]N0Z^2('&GJ]RK3"5:.5.+F&WH!YTD860,99M&1>N M0Z%/<6+D2))F9E0B=TQ2*<&T$1.4"HYJ#>L5C:&Q$:;TP?R6?R<;["KIW;FQ MN6^\-;6@QK08ZQA^GV;9?>ST55R0DZ50WTI].;SV3:/A>XD34M5^E;0"ANCN M,!WE.5U]I23E#-N+/[A@Z*/U.I )29YT-=,JD0Y@"<$22T6B?N2O1/D<5VK= M3E4RK'ER@IK?=I]3S+%$M"]:]_XQ[_*K%3*7)Z=?P:FP?^ ML8OT3D'D2=SNZU,0.3M^D=/CU.@TAXS>26;C'--&@3DO!O"7.7_2KBA8E(0J MPALO(W&,^8OCC,8KM- O/!M\/3_&"2JIFK?) ';V3QR3DLW:6?=F(YI9G?W# M7)[KU06[MZKP/U!+ P04 " !;@8]1EXJ[', 3 @ "P %]R96QS M+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0 M"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-# ML%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H M5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( %N!CU$+;>+ "@4 '4K / M >&PO=V]R:V)O;VLN>&ULQ9I;;^(X%(#_BL73C#1=R+47E4H4V%VD#E0- M,]HW9((!JXG-V$YOOWY/3-MQ6GHT+VY>2G/!?+'C?.<JMNEE+?DH2R$ M[G>VQNS.NEV=;UE)]5]RQP0<64M54@.;:M/5.\7H2F\9,V71#7N]M%M2+CH7 MYR]M7:NNNR$-RPV7 G;6.WYR=J]_'Z\WR1W7?,D+;A[['?M_P3JDY(*7_(FM M^IU>A^BMO/]7*OXDA:%%EBM9%/U.L#_PDRG#\W>[LQIR3I?:[C%T>4,!I-]) M>]#@FBMM[!FV?0J,=PQ.WF]51O[-"\/4B!KVCY+5CHM-W0Q<1=>Y#-L/+Y_[ M3CQ3?]*-\IWN$$%+UN^\G$*H6)&Q,-!)9"+V M3<&Y]97"3T]6^ZLV@.OTH3KC<$!-5A;<'^1P-AV-I]EX1."_;'8U&0WFL'$Y MN!I,AV/B0(8(9-@BY")T(",$,FH%,IO#Q_?QU(&,$(Y#';4(F#N0) GG2)F3J0)XBD*=^(6=J0P5_L@?L _U:<9'S M'2W( 3D/LQ[V-.\YQ?;,GFL%XPS&Q@4@RER4C7ZZDUE^_N8%:@ DG\&R< M9ZPY?8">?.Y2EPWS3.!9-'/(?W0%3\=L2Q5KW("860+/:K$T1Y=4PTTXE&7= M96\3A!!S2NC9*5-HM[[+R#7<@!;6)<,T$OI.7F19$,T=_'LDHQM;!9X./4+,7^$GOV154O-?E4UW?@._KIH. M=3$QJ83>I?(:=RWKN&OY&G?987=+)IA;(L]N08.O9F4'$TWD632'HIKGZ:._ MNI"8:"+?HOD@CG@_SR.T3.99.N_#B8,]B?DG\ETEP^(*\L7%Q/P3^?;/^\CB M8%=B\HE\IRU8W:0YP3'Y1)[E@ZO9%F'PBS_+!,=UZ7H3))_(M'Q33K>C% MF'SB-HMEBV,7$Y-/[%D^..:)BXGI)_:M'Q3SU,7$]!-[SWD^QES8VNTK)KI. MTV(*M+"UVU=,3$%QBRG0(G ?[S%FH;BU%&C$#'7+XC%FH;C5%,A-*&/,0G&; M*=#(#31CS$+QYZ5 ;TK/=MC=M4[,0DFK*9 [Z EFH<2SA=#ZX))*/$LH3<%\\. Z(L"OO7S49#\:4QS33^)9 M/P?J'$>6MS+UR>Y;+)A^TD]?W7F>/##?9>5:,L7TD[:YU-/03XKI)_W\Q9Z# M3\T4DT_ZRQ?-#Y/#+F_JM49CD$\-*#7?E8O+?*',1,?6D5CU= M>[*^.%^Q-1=L-87F->S/:9%?*U)_[%\VB9-Z#7A=%<40]LW$E:2KE[=&7]YX MO?@?4$L#!!0 ( %N!CU&U<6!\%@( *HF : >&PO7W)E;',O=V]R M:V)O;VLN>&UL+G)E;'/-V3MNVT 4A>&M"%R 1_0"^D0*=(8/!4Q)'CY-_Q #)]^E4,[[KM3W>W[NO@X'DYUU>S&L?^1 M4EWORK&M=UU?3N]V5,C:+UW;8EG'5I(_#]71-EX/W M53.\O$F3Y@Y2"-+Y@PR";/X@AR"?/R@@*.8/RA"4YP^ZAZ#[^8,>(.AA_J!' M"'J"8 N!V()D"X'9@F@+@=J"; N!VX)P"X'< M@G0+@=V"> N!WHIZ*X'>BGHK@=XZ^=@FT%M1;R706U%O)=!;46\ET%M1;R70 M6U%O)=!;46\ET%M1;R70VU!O(]#;4&\CT-M0;R/0VR:;)01Z&^IM!'H;ZFT$ M>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'K[9+.; M0&]'O9U ;T>]G4!O1[V=0&]'O9U ;T>]G4#O0+V#0.] O8- [T"]@T#O0+V# M0.] O8- [YC\K"30.U#O(- [4.\@T#M0[R#0.U#O(- [H]Z90.^,>F<"O3/J MG0GTSJAW)M [H]Z90.^,>N?OU+N.GX=2KSU?:WS^=U(]GN\MU\=?EE\G)R_4 M!>=T6U&?_P)02P,$% @ 6X&/4=(T9!3L 0 !R8 !, !;0V]N=&5N M=%]4>7!E&ULS=I=3\(P% ;@OT)V:UCIU_R(<*/>JA?^@;H=9&%;F[8@ M_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC,-JT31>FV2)&=\58*!?4FI!;1UU: MF5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB.?8UL=GU+<[-JXNANDWX.M>VFF:NX K @ $0 @ &O 9&]C4')O<',O8V]R92YX;6Q0 M2P$"% ,4 " !;@8]1F5R<(Q & "<)P $P @ ', 0 M>&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( %N!CU$6[M5WKP( &X( M 8 " @0T( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/45_ZVK4Q M P %PL !@ ("!)A( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/4<%X_$2] @ ! < !@ M ("!R1X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0# M% @ 6X&/49OD/Y#F!P <1\ !@ ("!WRL 'AL+W=O M&UL M4$L! A0#% @ 6X&/46GLPAJ/(0 E&P !D ("!)CD M 'AL+W=O&PO=V]R:W-H965T !X;"]W;W)K&UL4$L! A0#% @ M6X&/48 0)18K P 1 < !D ("!\& 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/44.\_^-& @ M/P4 !D ("!46P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/4?4<3K)H"0 0AL !D M ("!]70 'AL+W=O8P# "+"0 &0 @(&4?@ >&PO=V]R:W-H M965T" !X;"]W;W)K&UL4$L! M A0#% @ 6X&/48\(9S-\ P *P@ !D ("!#H< 'AL M+W=O&PO=V]R:W-H965TZ&UL4$L! A0#% @ 6X&/ M44^AX@3>!P ^1H !D ("!+[ 'AL+W=OIN0" "F!@ &0 M @(%$N >&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/4:5SDD#F @ >P8 M !D ("!.[X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/44@:LE1) @ >@4 !D M ("!%,< 'AL+W=O&PO=V]R:W-H965T M, B51@, )D( 9 M " @3C. !X;"]W;W)K&UL4$L! A0# M% @ 6X&/48['+(AQ @ =04 !D ("!M=$ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/43J" M-,"0" BB< !D ("!2=H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/4;6$*M% P P !D M ("!8N@ 'AL+W=O&PO M=V]R:W-H965T0@( M $4% 9 " @4OO !X;"]W;W)K&UL4$L! A0#% @ 6X&/4=9%O! &!@ 2B4 !D ("! MQ/$ 'AL+W=O&UL4$L! A0#% M @ 6X&/4>5X5NQ> P A@H !D ("!._T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/45?W!J$) M! >A( !D ("!HP&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/425'M*1% @ V 4 !D M ("!\A ! 'AL+W=O /WJUL" V!@ &0 @(%N$P$ >&PO=V]R M:W-H965T&UL M4$L! A0#% @ 6X&/4<"1?XX6! .A !D ("!IQ@! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M6X&/46)%WWZ_ P '@T !D ("! 28! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/40YZ5UJ^ @ MR < !D ("!5S ! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6X&/47PX.\7 0 Y@, !D M ("!QS@! 'AL+W=O&PO+ "@4 '4K / M " 3P^ 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " !; M@8]1M7%@?!8" "J)@ &@ @ %S0P$ >&PO7W)E;',O=V]R M:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !;@8]1TC1D%.P! ')@ $P M @ '!10$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 20!) + /83 #>1P$ ! end XML 78 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 79 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 80 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.4 html 149 331 1 false 56 0 false 7 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.cootek.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 00205 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical) Sheet http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical) Statements 5 false false R6.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS Sheet http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS Statements 6 false false R7.htm 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Parenthetical) Sheet http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossParenthetical CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Parenthetical) Statements 7 false false R8.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY Sheet http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY Statements 8 false false R9.htm 00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 9 false false R10.htm 10101 - Disclosure - Organization and Principal Activities Sheet http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivities Organization and Principal Activities Notes 10 false false R11.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 11 false false R12.htm 10301 - Disclosure - Accounts Receivable, net Sheet http://www.cootek.com/role/DisclosureAccountsReceivableNet Accounts Receivable, net Notes 12 false false R13.htm 10401 - Disclosure - Prepaid Expenses and Other Current Assets Sheet http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssets Prepaid Expenses and Other Current Assets Notes 13 false false R14.htm 10501 - Disclosure - Property and Equipment, net Sheet http://www.cootek.com/role/DisclosurePropertyAndEquipmentNet Property and Equipment, net Notes 14 false false R15.htm 10601 - Disclosure - Short-term Bank Borrowings Sheet http://www.cootek.com/role/DisclosureShortTermBankBorrowings Short-term Bank Borrowings Notes 15 false false R16.htm 10701 - Disclosure - Accrued Expenses and Other Current Liabilities Sheet http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities Accrued Expenses and Other Current Liabilities Notes 16 false false R17.htm 10801 - Disclosure - Other Operating Income (Loss), net Sheet http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNet Other Operating Income (Loss), net Notes 17 false false R18.htm 10901 - Disclosure - Income Taxes Expense Sheet http://www.cootek.com/role/DisclosureIncomeTaxesExpense Income Taxes Expense Notes 18 false false R19.htm 11001 - Disclosure - Treasury Shares Sheet http://www.cootek.com/role/DisclosureTreasuryShares Treasury Shares Notes 19 false false R20.htm 11101 - Disclosure - Share-Based Compensation Sheet http://www.cootek.com/role/DisclosureShareBasedCompensation Share-Based Compensation Notes 20 false false R21.htm 11201 - Disclosure - Net Loss Per Share Sheet http://www.cootek.com/role/DisclosureNetLossPerShare Net Loss Per Share Notes 21 false false R22.htm 11301 - Disclosure - Commitments and Contingencies Sheet http://www.cootek.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 22 false false R23.htm 11401 - Disclosure - Segment Information Sheet http://www.cootek.com/role/DisclosureSegmentInformation Segment Information Notes 23 false false R24.htm 11501 - Disclosure - Subsequent Event Sheet http://www.cootek.com/role/DisclosureSubsequentEvent Subsequent Event Notes 24 false false R25.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPolicies 25 false false R26.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPolicies 26 false false R27.htm 30303 - Disclosure - Accounts Receivable, net (Tables) Sheet http://www.cootek.com/role/DisclosureAccountsReceivableNetTables Accounts Receivable, net (Tables) Tables http://www.cootek.com/role/DisclosureAccountsReceivableNet 27 false false R28.htm 30403 - Disclosure - Prepaid Expenses and Other Current Assets (Tables) Sheet http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsTables Prepaid Expenses and Other Current Assets (Tables) Tables http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssets 28 false false R29.htm 30503 - Disclosure - Property and Equipment, net (Tables) Sheet http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetTables Property and Equipment, net (Tables) Tables http://www.cootek.com/role/DisclosurePropertyAndEquipmentNet 29 false false R30.htm 30603 - Disclosure - Short-term bank borrowings (Tables) Sheet http://www.cootek.com/role/DisclosureShortTermBankBorrowingsTables Short-term bank borrowings (Tables) Tables 30 false false R31.htm 30703 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables) Sheet http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables Accrued Expenses and Other Current Liabilities (Tables) Tables http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities 31 false false R32.htm 30903 - Disclosure - Income Taxes Expense (Tables) Sheet http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables Income Taxes Expense (Tables) Tables http://www.cootek.com/role/DisclosureIncomeTaxesExpense 32 false false R33.htm 31103 - Disclosure - Share-Based Compensation (Tables) Sheet http://www.cootek.com/role/DisclosureShareBasedCompensationTables Share-Based Compensation (Tables) Tables http://www.cootek.com/role/DisclosureShareBasedCompensation 33 false false R34.htm 31203 - Disclosure - Net Loss Per Share (Tables) Sheet http://www.cootek.com/role/DisclosureNetLossPerShareTables Net Loss Per Share (Tables) Tables http://www.cootek.com/role/DisclosureNetLossPerShare 34 false false R35.htm 31303 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesTables Commitments and Contingencies (Tables) Tables http://www.cootek.com/role/DisclosureCommitmentsAndContingencies 35 false false R36.htm 31403 - Disclosure - Segment Information (Tables) Sheet http://www.cootek.com/role/DisclosureSegmentInformationTables Segment Information (Tables) Tables http://www.cootek.com/role/DisclosureSegmentInformation 36 false false R37.htm 40101 - Disclosure - Organization and Principal Activities (Details) Sheet http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails Organization and Principal Activities (Details) Details http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivities 37 false false R38.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Consolidated financial statement balances and amounts of the Group's VIEs (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails Summary of Significant Accounting Policies - Consolidated financial statement balances and amounts of the Group's VIEs (Details) Details 38 false false R39.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Cash, Cash Equivalents and Restricted Cash (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails Summary of Significant Accounting Policies - Cash, Cash Equivalents and Restricted Cash (Details) Details 39 false false R40.htm 40203 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails Summary of Significant Accounting Policies - Revenue Recognition (Details) Details 40 false false R41.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails Summary of Significant Accounting Policies - Disaggregation of Revenue (Details) Details 41 false false R42.htm 40205 - Disclosure - Summary of Significant Accounting Policies - Contract Balances (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails Summary of Significant Accounting Policies - Contract Balances (Details) Details 42 false false R43.htm 40206 - Disclosure - Summary of Significant Accounting Policies - Sales and Marketing Expenses (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSalesAndMarketingExpensesDetails Summary of Significant Accounting Policies - Sales and Marketing Expenses (Details) Details 43 false false R44.htm 40207 - Disclosure - Summary of Significant Accounting Policies - Concentration and risks (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails Summary of Significant Accounting Policies - Concentration and risks (Details) Details 44 false false R45.htm 40208 - Disclosure - Summary of Significant Accounting Policies - Foreign Currency Risk (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails Summary of Significant Accounting Policies - Foreign Currency Risk (Details) Details 45 false false R46.htm 40209 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) Sheet http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details) Details 46 false false R47.htm 40301 - Disclosure - Accounts Receivable, net (Details) Sheet http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails Accounts Receivable, net (Details) Details http://www.cootek.com/role/DisclosureAccountsReceivableNetTables 47 false false R48.htm 40401 - Disclosure - Prepaid Expenses and Other Current Assets (Details) Sheet http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails Prepaid Expenses and Other Current Assets (Details) Details http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsTables 48 false false R49.htm 40501 - Disclosure - Property and Equipment, net (Details) Sheet http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails Property and Equipment, net (Details) Details http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetTables 49 false false R50.htm 40601 - Disclosure - Short-term Bank Borrowings (Details) Sheet http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails Short-term Bank Borrowings (Details) Details http://www.cootek.com/role/DisclosureShortTermBankBorrowings 50 false false R51.htm 40701 - Disclosure - Accrued Expenses and Other Current Liabilities (Details) Sheet http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails Accrued Expenses and Other Current Liabilities (Details) Details http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables 51 false false R52.htm 40801 - Disclosure - Other Operating Income (Loss), net (Details) Sheet http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNetDetails Other Operating Income (Loss), net (Details) Details http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNet 52 false false R53.htm 40901 - Disclosure - Income Taxes Expense - Current and deferred portion of income tax expenses (Details) Sheet http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails Income Taxes Expense - Current and deferred portion of income tax expenses (Details) Details 53 false false R54.htm 40902 - Disclosure - Income Taxes Expense (Details) Sheet http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails Income Taxes Expense (Details) Details http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables 54 false false R55.htm 41001 - Disclosure - Treasury Shares (Details) Sheet http://www.cootek.com/role/DisclosureTreasurySharesDetails Treasury Shares (Details) Details http://www.cootek.com/role/DisclosureTreasuryShares 55 false false R56.htm 41101 - Disclosure - Share-Based Compensation - Share options (Details) Sheet http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails Share-Based Compensation - Share options (Details) Details 56 false false R57.htm 41102 - Disclosure - Share-Based Compensation - Assumptions to estimate the fair value of the options (Details) Sheet http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails Share-Based Compensation - Assumptions to estimate the fair value of the options (Details) Details 57 false false R58.htm 41103 - Disclosure - Share-Based Compensation - Summary of aggregate option activity (Details) Sheet http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails Share-Based Compensation - Summary of aggregate option activity (Details) Details 58 false false R59.htm 41104 - Disclosure - Share-Based Compensation - RSU Activity (Details) Sheet http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails Share-Based Compensation - RSU Activity (Details) Details 59 false false R60.htm 41201 - Disclosure - Net Loss Per Share - Computation of basic and diluted net loss per share (Details) Sheet http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails Net Loss Per Share - Computation of basic and diluted net loss per share (Details) Details 60 false false R61.htm 41202 - Disclosure - Net Loss Per Share - Shares outstanding were excluded from the calculation of diluted net loss per ordinary share (Details) Sheet http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails Net Loss Per Share - Shares outstanding were excluded from the calculation of diluted net loss per ordinary share (Details) Details 61 false false R62.htm 41301 - Disclosure - Commitments and Contingencies (Details) Sheet http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesTables 62 false false R63.htm 41401 - Disclosure - Segment Information (Details) Sheet http://www.cootek.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.cootek.com/role/DisclosureSegmentInformationTables 63 false false R64.htm 41501 - Disclosure - Subsequent Event (Details) Sheet http://www.cootek.com/role/DisclosureSubsequentEventDetails Subsequent Event (Details) Details http://www.cootek.com/role/DisclosureSubsequentEvent 64 false false R9999.htm Uncategorized Items - _IXDS Sheet http://xbrl.sec.gov/role/uncategorizedFacts Uncategorized Items - _IXDS Cover 65 false false All Reports Book All Reports ctk-20201231x6k.htm ctk-20201231xex991.htm ctk-20201231.xsd ctk-20201231_cal.xml ctk-20201231_def.xml ctk-20201231_lab.xml ctk-20201231_pre.xml http://fasb.org/srt/2020-01-31 http://xbrl.sec.gov/dei/2020-01-31 http://xbrl.sec.gov/currency/2020-01-31 http://fasb.org/us-gaap/2020-01-31 http://xbrl.sec.gov/country/2020-01-31 true true JSON 83 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "ctk-20201231x6k.htm ctk-20201231xex991.htm": { "axisCustom": 1, "axisStandard": 21, "contextCount": 149, "dts": { "calculationLink": { "local": [ "ctk-20201231_cal.xml" ] }, "definitionLink": { "local": [ "us-gaap-eedm-def-2020-01-31.xml", "srt-eedm1-def-2020-01-31.xml", "ctk-20201231_def.xml" ] }, "inline": { "local": [ "ctk-20201231x6k.htm", "ctk-20201231xex991.htm" ] }, "labelLink": { "local": [ "ctk-20201231_lab.xml", "dei-doc-2020-01-31.xml", "us-gaap-doc-2020-01-31.xml" ] }, "presentationLink": { "local": [ "ctk-20201231_pre.xml" ] }, "referenceLink": { "local": [ "us-gaap-ref-2020-01-31.xml", "dei-ref-2020-01-31.xml" ] }, "schema": { "local": [ "ctk-20201231.xsd", "xbrl-linkbase-2003-12-31.xsd", "xl-2003-12-31.xsd", "xlink-2003-12-31.xsd", "dei-2020-01-31.xsd", "xbrl-instance-2003-12-31.xsd", "xbrldt-2005.xsd", "nonNumeric-2009-12-16.xsd", "numeric-2009-12-16.xsd", "us-gaap-2020-01-31.xsd", "us-roles-2020-01-31.xsd", "srt-2020-01-31.xsd", "ref-2006-02-27.xsd", "srt-types-2020-01-31.xsd", "srt-roles-2020-01-31.xsd", "country-2020-01-31.xsd", "us-types-2020-01-31.xsd", "currency-2020-01-31.xsd", "negated-2009-12-16.xsd", "reference-2009-12-16.xsd", "us-parts-codification-2020-01-31.xsd", "deprecated-2009-12-16.xsd" ] } }, "elementCount": 616, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 5, "http://www.cootek.com/20201231": 1, "http://xbrl.sec.gov/dei/2020-01-31": 8, "total": 14 }, "keyCustom": 22, "keyStandard": 309, "memberCustom": 23, "memberStandard": 31, "nsprefix": "ctk", "nsuri": "http://www.cootek.com/20201231", "report": { "R1": { "firstAnchor": null, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "role": "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": null }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Organization and Principal Activities", "role": "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivities", "shortName": "Organization and Principal Activities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "shortName": "Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Accounts Receivable, net", "role": "http://www.cootek.com/role/DisclosureAccountsReceivableNet", "shortName": "Accounts Receivable, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "ctk:PrepaidExpensesAndOtherCurrentAssetsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Prepaid Expenses and Other Current Assets", "role": "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssets", "shortName": "Prepaid Expenses and Other Current Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "ctk:PrepaidExpensesAndOtherCurrentAssetsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Property and Equipment, net", "role": "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNet", "shortName": "Property and Equipment, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Short-term Bank Borrowings", "role": "http://www.cootek.com/role/DisclosureShortTermBankBorrowings", "shortName": "Short-term Bank Borrowings", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Accrued Expenses and Other Current Liabilities", "role": "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities", "shortName": "Accrued Expenses and Other Current Liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherOperatingIncomeAndExpenseTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Other Operating Income (Loss), net", "role": "http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNet", "shortName": "Other Operating Income (Loss), net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OtherOperatingIncomeAndExpenseTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Income Taxes Expense", "role": "http://www.cootek.com/role/DisclosureIncomeTaxesExpense", "shortName": "Income Taxes Expense", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:TreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Treasury Shares", "role": "http://www.cootek.com/role/DisclosureTreasuryShares", "shortName": "Treasury Shares", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:TreasuryStockTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "lang": null, "name": "us-gaap:AssetsCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Share-Based Compensation", "role": "http://www.cootek.com/role/DisclosureShareBasedCompensation", "shortName": "Share-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Net Loss Per Share", "role": "http://www.cootek.com/role/DisclosureNetLossPerShare", "shortName": "Net Loss Per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Commitments and Contingencies", "role": "http://www.cootek.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11401 - Disclosure - Segment Information", "role": "http://www.cootek.com/role/DisclosureSegmentInformation", "shortName": "Segment Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11501 - Disclosure - Subsequent Event", "role": "http://www.cootek.com/role/DisclosureSubsequentEvent", "shortName": "Subsequent Event", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "shortName": "Summary of Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Accounts Receivable, net (Tables)", "role": "http://www.cootek.com/role/DisclosureAccountsReceivableNetTables", "shortName": "Accounts Receivable, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ctk:PrepaidExpensesAndOtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Prepaid Expenses and Other Current Assets (Tables)", "role": "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsTables", "shortName": "Prepaid Expenses and Other Current Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ctk:PrepaidExpensesAndOtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Property and Equipment, net (Tables)", "role": "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetTables", "shortName": "Property and Equipment, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "INF", "lang": null, "name": "us-gaap:TreasuryStockCommonShares", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Short-term bank borrowings (Tables)", "role": "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsTables", "shortName": "Short-term bank borrowings (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30703 - Disclosure - Accrued Expenses and Other Current Liabilities (Tables)", "role": "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables", "shortName": "Accrued Expenses and Other Current Liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - Income Taxes Expense (Tables)", "role": "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables", "shortName": "Income Taxes Expense (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31103 - Disclosure - Share-Based Compensation (Tables)", "role": "http://www.cootek.com/role/DisclosureShareBasedCompensationTables", "shortName": "Share-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31203 - Disclosure - Net Loss Per Share (Tables)", "role": "http://www.cootek.com/role/DisclosureNetLossPerShareTables", "shortName": "Net Loss Per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31303 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31403 - Disclosure - Segment Information (Tables)", "role": "http://www.cootek.com/role/DisclosureSegmentInformationTables", "shortName": "Segment Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_10_2_2018_To_10_2_2018_79HwYSv360qgt9AiBUQrMQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ProceedsFromIssuanceInitialPublicOffering", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Organization and Principal Activities (Details)", "role": "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "shortName": "Organization and Principal Activities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_10_2_2018_To_10_2_2018_79HwYSv360qgt9AiBUQrMQ", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:ProceedsFromIssuanceInitialPublicOffering", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Consolidated financial statement balances and amounts of the Group's VIEs (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "shortName": "Summary of Significant Accounting Policies - Consolidated financial statement balances and amounts of the Group's VIEs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2019_WxW7hCT88U6O6e0PvbqOUQ", "decimals": "0", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:RestrictedCashEquivalentsNoncurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Cash, Cash Equivalents and Restricted Cash (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails", "shortName": "Summary of Significant Accounting Policies - Cash, Cash Equivalents and Restricted Cash (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_10_1_2020_To_10_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_1jQcheZ-9kas9_ithknplg", "decimals": "-5", "lang": null, "name": "us-gaap:IncreaseInRestrictedCash", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "INF", "first": true, "lang": null, "name": "ctk:NumberOfGeneralPricingModels", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_PVzbLVRr3UWMKzaAcRO72w", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails", "shortName": "Summary of Significant Accounting Policies - Revenue Recognition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "INF", "first": true, "lang": null, "name": "ctk:NumberOfGeneralPricingModels", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_PVzbLVRr3UWMKzaAcRO72w", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "shortName": "Summary of Significant Accounting Policies - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_srt_StatementGeographicalAxis_country_US_o-aUjX8zSkutARyzUZkLOw", "decimals": "0", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_QOy-r7covE-YPWMOYJHLqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Contract Balances (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails", "shortName": "Summary of Significant Accounting Policies - Contract Balances (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_QOy-r7covE-YPWMOYJHLqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ContractWithCustomerAssetNetCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "us-gaap:AdvertisingCostsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AdvertisingExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Sales and Marketing Expenses (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSalesAndMarketingExpensesDetails", "shortName": "Summary of Significant Accounting Policies - Sales and Marketing Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:AdvertisingCostsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AdvertisingExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40207 - Disclosure - Summary of Significant Accounting Policies - Concentration and risks (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "shortName": "Summary of Significant Accounting Policies - Concentration and risks (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2019_To_9_30_2019_srt_MajorCustomersAxis_ctk_CompanyMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_snT2eL7tfUuqZNCkLqpyKg", "decimals": "0", "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40208 - Disclosure - Summary of Significant Accounting Policies - Foreign Currency Risk (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails", "shortName": "Summary of Significant Accounting Policies - Foreign Currency Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_QOy-r7covE-YPWMOYJHLqg", "decimals": "0", "lang": null, "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_CNY_jofFo9Bgq0mongfrneOGfA", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDue", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40209 - Disclosure - Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)", "role": "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails", "shortName": "Summary of Significant Accounting Policies - Recent Accounting Pronouncements (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Accounts Receivable, net (Details)", "role": "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails", "shortName": "Accounts Receivable, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ctk:PrepaidExpensesAndOtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ValueAddedTaxReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Prepaid Expenses and Other Current Assets (Details)", "role": "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails", "shortName": "Prepaid Expenses and Other Current Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "ctk:PrepaidExpensesAndOtherCurrentAssetsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ValueAddedTaxReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Property and Equipment, net (Details)", "role": "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails", "shortName": "Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "dei:EntityListingDepositoryReceiptRatio", "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_H7k8B92sEE2CTuv8PyYMuw", "decimals": "0", "first": true, "lang": null, "name": "dei:EntityListingDepositoryReceiptRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_LAyOZJbzEkSQ5V96PrhPjg", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00205 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "dei:EntityListingDepositoryReceiptRatio", "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_H7k8B92sEE2CTuv8PyYMuw", "decimals": "0", "first": true, "lang": null, "name": "dei:EntityListingDepositoryReceiptRatio", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_LAyOZJbzEkSQ5V96PrhPjg", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShortTermBorrowings", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Short-term Bank Borrowings (Details)", "role": "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails", "shortName": "Short-term Bank Borrowings (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_10_31_2019_us-gaap_CreditFacilityAxis_ctk_LineOfCredit2016Member_fGaKBcsmGUC3G-8oLvWSmA", "decimals": "-5", "lang": null, "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Accrued Expenses and Other Current Liabilities (Details)", "role": "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails", "shortName": "Accrued Expenses and Other Current Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R52": { "firstAnchor": null, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Other Operating Income (Loss), net (Details)", "role": "http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNetDetails", "shortName": "Other Operating Income (Loss), net (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R53": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CurrentIncomeTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Income Taxes Expense - Current and deferred portion of income tax expenses (Details)", "role": "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "shortName": "Income Taxes Expense - Current and deferred portion of income tax expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CurrentIncomeTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_LAyOZJbzEkSQ5V96PrhPjg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - Income Taxes Expense (Details)", "role": "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "shortName": "Income Taxes Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_LAyOZJbzEkSQ5V96PrhPjg", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockRepurchasedDuringPeriodValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Treasury Shares (Details)", "role": "http://www.cootek.com/role/DisclosureTreasurySharesDetails", "shortName": "Treasury Shares (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:TreasuryStockTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_us-gaap_PlanNameAxis_ctk_RepurchasePlanMember_BGIpAxykrEO_nbrk43hrJQ", "decimals": "INF", "lang": null, "name": "us-gaap:StockRepurchasedDuringPeriodShares", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_us-gaap_AwardTypeAxis_ctk_ShareBasedPaymentArrangementOptionMember_HUgmPeKDtUGAL_b2mOqgDw", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unitRef": "Unit_Divide_USD_shares_ORQ68aZ6qkWVMQZtzDVUiA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Share-Based Compensation - Share options (Details)", "role": "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "shortName": "Share-Based Compensation - Share options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_us-gaap_AwardTypeAxis_ctk_ShareBasedPaymentArrangementOptionMember_us-gaap_PlanNameAxis_ctk_OptionPlan2012Member_ajPTwhExm0qTYoWBKKOJTg", "decimals": null, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_LAyOZJbzEkSQ5V96PrhPjg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - Share-Based Compensation - Assumptions to estimate the fair value of the options (Details)", "role": "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails", "shortName": "Share-Based Compensation - Assumptions to estimate the fair value of the options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "4", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_LAyOZJbzEkSQ5V96PrhPjg", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_us-gaap_AwardTypeAxis_ctk_ShareBasedPaymentArrangementOptionMember_CqcXWHyu3E2fmRp6aaLbYA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41103 - Disclosure - Share-Based Compensation - Summary of aggregate option activity (Details)", "role": "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails", "shortName": "Share-Based Compensation - Summary of aggregate option activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_us-gaap_AwardTypeAxis_ctk_ShareBasedPaymentArrangementOptionMember_CqcXWHyu3E2fmRp6aaLbYA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnvestedRestrictedStockUnitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_UZyQtzpaOUe9DZOy8V-w6Q", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41104 - Disclosure - Share-Based Compensation - RSU Activity (Details)", "role": "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "shortName": "Share-Based Compensation - RSU Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfUnvestedRestrictedStockUnitsRollForwardTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_UZyQtzpaOUe9DZOy8V-w6Q", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "lang": null, "name": "us-gaap:ComprehensiveIncomeNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Net Loss Per Share - Computation of basic and diluted net loss per share (Details)", "role": "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "shortName": "Net Loss Per Share - Computation of basic and diluted net loss per share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "lang": null, "name": "us-gaap:WeightedAverageNumberOfSharesIssuedBasic", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41202 - Disclosure - Net Loss Per Share - Shares outstanding were excluded from the calculation of diluted net loss per ordinary share (Details)", "role": "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails", "shortName": "Net Loss Per Share - Shares outstanding were excluded from the calculation of diluted net loss per ordinary share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_EeH4mWmxZ0uH044LZNyByg", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Commitments and Contingencies (Details)", "role": "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_XEAEtgsSKEugdZyNfLaFZg", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41401 - Disclosure - Segment Information (Details)", "role": "http://www.cootek.com/role/DisclosureSegmentInformationDetails", "shortName": "Segment Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_XEAEtgsSKEugdZyNfLaFZg", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_WFoIJAhRCE6sOb3p4cItAg", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41501 - Disclosure - Subsequent Event (Details)", "role": "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "shortName": "Subsequent Event (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_WFoIJAhRCE6sOb3p4cItAg", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Parenthetical)", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossParenthetical", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2018_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zjOrzoPfM0eW-58_9Z6PiA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_12_31_2018_us-gaap_StatementClassOfStockAxis_us-gaap_CommonClassAMember_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_zjOrzoPfM0eW-58_9Z6PiA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "role": "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_yvzH2MuYGU65q9vlQLOUqg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } }, "R9999": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:RestrictedCash", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" }, "groupType": "", "isDefault": "false", "longName": "Uncategorized Items - _IXDS", "role": "http://xbrl.sec.gov/role/uncategorizedFacts", "shortName": "Uncategorized Items - _IXDS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "ctk-20201231xex991.htm", "contextRef": "As_Of_9_30_2020_FRi1pXs-IUqsanTfaweXdw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:RestrictedCash", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_MwOBYA1muEuvvy48QkqxlA", "xsiNil": "false" } } }, "segmentCount": 56, "tag": { "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "C [N]", "terseLabel": "PRC" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "http://www.cootek.com/role/DisclosureSegmentInformationDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "country_HK": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "H [K]", "terseLabel": "Hong Kong" } } }, "localname": "HK", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "country_KY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "K [Y]", "terseLabel": "Cayman" } } }, "localname": "KY", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "U [S]", "terseLabel": "USA" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "http://www.cootek.com/role/DisclosureSegmentInformationDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "ctk_AccountsReceivableCreditLossReversal": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of reversal of expense for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Reversal", "terseLabel": "Reversal" } } }, "localname": "AccountsReceivableCreditLossReversal", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails" ], "xbrltype": "monetaryItemType" }, "ctk_AccruedExpensesAndOtherCurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligations incurred and payable, pertaining to costs that are statutory in nature, incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include, but not limited to, taxes, interest, rent and utilities. Also includes the aggregate carrying amount of liabilities not separately disclosed. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Expenses And Other Current Liabilities.", "terseLabel": "Accrued expenses and other current liabilities", "totalLabel": "Total" } } }, "localname": "AccruedExpensesAndOtherCurrentLiabilities", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "ctk_AccruedExpensesAndOtherCurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing accrued expenses and other current liabilities.", "label": "Accrued Expenses And Other Current Liabilities [Member]", "terseLabel": "Accrued expenses and other current liabilities" } } }, "localname": "AccruedExpensesAndOtherCurrentLiabilitiesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "ctk_AccruedExpensesAndOtherLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Accrued Expenses and Other Current Liabilities" } } }, "localname": "AccruedExpensesAndOtherLiabilitiesCurrentAbstract", "nsuri": "http://www.cootek.com/20201231", "xbrltype": "stringItemType" }, "ctk_AccruedIssuanceCostsForInitialPublicOffering": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of accrued interest for initial public offering in noncash investing or financing activities.", "label": "Accrued Issuance Costs For Initial Public Offering", "terseLabel": "Accrued issuance cost for initial public offering" } } }, "localname": "AccruedIssuanceCostsForInitialPublicOffering", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "ctk_AdjustmentsToAdditionalPaidInCapitalDecreaseForCashSettlementOnVestedAwardsOfShareBasedPaymentArrangement": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to additional paid-in capital (APIC) for cash settlement of vested awards under share-based payment arrangement.", "label": "Adjustments To Additional Paid In Capital, Decrease For Cash Settlement On Vested Awards Of Share Based Payment Arrangement", "negatedLabel": "Cash settlement on vested share options and restricted shares" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalDecreaseForCashSettlementOnVestedAwardsOfShareBasedPaymentArrangement", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "ctk_AllowanceForDoubtfulAccountsForeignCurrencyTranslation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) from converting allowance for doubtful accounts to currency of reporting entity from amount denominated or measured in a different currency, which decreases (increases) the allowance for doubtful accounts.", "label": "Allowance For Doubtful Accounts Foreign Currency Translation", "terseLabel": "Foreign exchange effect" } } }, "localname": "AllowanceForDoubtfulAccountsForeignCurrencyTranslation", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails" ], "xbrltype": "monetaryItemType" }, "ctk_AmericanDepositarySharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An American depositary share (ADS) is a U.S. dollar-denominated equity share of a foreign-based company available for purchase on an American stock exchange.", "label": "American Depositary Shares [Member]", "terseLabel": "American depositary shares" } } }, "localname": "AmericanDepositarySharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "domainItemType" }, "ctk_AmericanDepositoryReceiptsReimbursementCurrent": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 6.0, "parentTag": "ctk_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Current portion of American Depository Receipts (the \"ADR\") reimbursement.", "label": "American Depository Receipts Reimbursement, Current", "terseLabel": "ADR reimbursement" } } }, "localname": "AmericanDepositoryReceiptsReimbursementCurrent", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_AmericanDepositoryReceiptsReimbursementNoncurrent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Noncurrent portion of American Depository Receipts (the \"ADR\") reimbursement.", "label": "American Depository Receipts Reimbursement, Noncurrent", "terseLabel": "ADR reimbursement" } } }, "localname": "AmericanDepositoryReceiptsReimbursementNoncurrent", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_AmericanDepositoryReceiptsReimbursementsNetOffWithholdingTaxAfterIpo": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount represents the American Depositary Receipts reimbursements net of withholding tax after IPO.", "label": "American Depository Receipts Reimbursements Net Off Withholding Tax After IPO", "terseLabel": "ADR reimbursements net off withholding tax after closing IPO" } } }, "localname": "AmericanDepositoryReceiptsReimbursementsNetOffWithholdingTaxAfterIpo", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_AmericanDepositoryReceiptsReimbursementsRecognized": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents amount of American Depositary Receipts (ADR) reimbursements recognized during the period.", "label": "American Depository Receipts Reimbursements Recognized", "terseLabel": "ADR Reimbursement recognized" } } }, "localname": "AmericanDepositoryReceiptsReimbursementsRecognized", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_AmericanDepositorySharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The information pertaining to American Depository Shares.", "label": "American Depository Shares [Member]", "terseLabel": "ADS" } } }, "localname": "AmericanDepositorySharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "domainItemType" }, "ctk_AssetsHeldInViesOnlyToSettleObligationsOfVies": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets held in the VIEs that can be used only to settle obligations of the VIEs, except for registered capital and the PRC statutory reserves.", "label": "Assets Held in VIEs, Only to Settle Obligations of VIEs", "terseLabel": "Assets held in VIEs that can be used only to settle obligations of VIEs" } } }, "localname": "AssetsHeldInViesOnlyToSettleObligationsOfVies", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_CashAndCashEquivalentsAutomaticallyTransferredToFrozenBankAccounts": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of cash and cash equivalents automatically transferred to frozen bank accounts.", "label": "Cash And Cash Equivalents Automatically Transferred To Frozen Bank Accounts", "terseLabel": "Cash and cash equivalents automatically transferred to frozen bank accounts" } } }, "localname": "CashAndCashEquivalentsAutomaticallyTransferredToFrozenBankAccounts", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "monetaryItemType" }, "ctk_CashAndCashEquivalentsFrozen": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of cash and cash equivalents frozen.", "label": "Cash And Cash Equivalents Frozen", "terseLabel": "Cash and cash equivalents frozen" } } }, "localname": "CashAndCashEquivalentsFrozen", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "monetaryItemType" }, "ctk_CashCashEquivalentsAndRestrictedCashDenominatedInForeignCurrency": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of cash and cash equivalents and restricted cash denominated in RMB.", "label": "Cash, Cash Equivalents And Restricted Cash Denominated In Foreign Currency", "terseLabel": "Cash and cash equivalents and restricted cash denominated in RMB" } } }, "localname": "CashCashEquivalentsAndRestrictedCashDenominatedInForeignCurrency", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails" ], "xbrltype": "monetaryItemType" }, "ctk_CompanyBMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Company B.", "label": "Company B [Member]", "terseLabel": "Company B" } } }, "localname": "CompanyBMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Company C.", "label": "Company C [Member]", "terseLabel": "Company C" } } }, "localname": "CompanyCMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyDMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company D Member", "label": "Company D [Member]", "terseLabel": "Company D" } } }, "localname": "CompanyDMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyEMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company E Member", "label": "Company E [Member]", "terseLabel": "Company E" } } }, "localname": "CompanyEMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyFMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company F [Member]", "label": "Company F [Member]", "terseLabel": "Company F" } } }, "localname": "CompanyFMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyGMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company G [Member]", "label": "Company G [Member]", "terseLabel": "Company G" } } }, "localname": "CompanyGMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyHMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company H [Member]", "label": "Company H [Member]", "terseLabel": "Company H" } } }, "localname": "CompanyHMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyIMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company I [Member]", "label": "Company I [Member]", "terseLabel": "Company I" } } }, "localname": "CompanyIMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyJMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Company J [Member]", "label": "Company J [Member]", "terseLabel": "Company J" } } }, "localname": "CompanyJMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompanyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Company A.", "label": "Company [Member]", "terseLabel": "Company A" } } }, "localname": "CompanyMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_CompensationMadeToLocalAuthorityInRelationToAdvertisementCampaigns": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the amount compensation made to local authority in relation to advertisement campaigns.", "label": "Compensation Made To Local Authority In Relation To Advertisement Campaigns", "terseLabel": "Compensation made to local authority in relation to advertisement campaigns" } } }, "localname": "CompensationMadeToLocalAuthorityInRelationToAdvertisementCampaigns", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNetDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ContractDepositsFromCustomersCurrent": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 3.0, "parentTag": "ctk_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Mount of Contract Deposits From Customers", "label": "Contract Deposits From Customers, Current", "terseLabel": "Contract deposits from customers" } } }, "localname": "ContractDepositsFromCustomersCurrent", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ContractWithCustomerAssetIncreaseDecreaseNet": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract With Customer Asset Increase (Decrease) Net", "terseLabel": "(Decrease) Increase, net" } } }, "localname": "ContractWithCustomerAssetIncreaseDecreaseNet", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ContractWithCustomerLiabilityIncreaseDecreaseNet": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Increase (Decrease), Net", "terseLabel": "(Decrease) Increase, net" } } }, "localname": "ContractWithCustomerLiabilityIncreaseDecreaseNet", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ConversionOfClassBOrdinarySharesUponCompletionOfInitialPublicOffering": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact from conversion of Class A/B ordinary shares upon the completion of initial public offering(\"IPO\").", "label": "Conversion of Class A/B Ordinary Shares upon the Completion of Initial Public Offering", "terseLabel": "Conversion of Class A/B ordinary shares upon the completion of initial public offering(\"IPO\")" } } }, "localname": "ConversionOfClassBOrdinarySharesUponCompletionOfInitialPublicOffering", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "ctk_ConversionOfClassBOrdinarySharesUponCompletionOfInitialPublicOfferingShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares changes from conversion of Class A/B ordinary shares upon the completion of initial public offering(\"IPO\").", "label": "Conversion of Class A/B Ordinary Shares upon the Completion of Initial Public Offering, Shares", "terseLabel": "Conversion of Class A/B ordinary shares upon the completion of initial public offering(\"IPO\") (in shares)" } } }, "localname": "ConversionOfClassBOrdinarySharesUponCompletionOfInitialPublicOfferingShares", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "ctk_ConvertibleDebenturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Convertible Debentures [Member]", "label": "Convertible Debentures [Member]", "terseLabel": "Convertible Debentures" } } }, "localname": "ConvertibleDebenturesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "domainItemType" }, "ctk_CountriesOtherThanUsaAndChinaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to countries other than USA and China.", "label": "Countries Other Than Usa And China [Member]", "terseLabel": "Others" } } }, "localname": "CountriesOtherThanUsaAndChinaMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "ctk_CreditFacility2018Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to line of credit availed in 2018.", "label": "Credit Facility2018 [Member]", "terseLabel": "Credit facility, 2018" } } }, "localname": "CreditFacility2018Member", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "ctk_DeferredGovernmentSubsidiesCurrent": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 4.0, "parentTag": "ctk_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of current deferred government subsidies.", "label": "Deferred Government Subsidies Current", "terseLabel": "Deferred government subsidies" } } }, "localname": "DeferredGovernmentSubsidiesCurrent", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "ctk_EarningsPerShareProFormaPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing Pro forma basic and diluted earnings or loss per share.", "label": "Earnings Per Share , Pro Forma [Policy Text Block]", "terseLabel": "Pro forma net loss per share" } } }, "localname": "EarningsPerShareProFormaPolicyTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "ctk_ElectronicEquipmentAndSoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "It represents the information about electronic equipment and software.", "label": "Electronic Equipment And Software [Member]", "terseLabel": "Electronic equipment and software" } } }, "localname": "ElectronicEquipmentAndSoftwareMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "ctk_ElectronicEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment used in the creation, maintenance and utilization power energy.", "label": "Electronic Equipment [Member]", "terseLabel": "Electronic equipment" } } }, "localname": "ElectronicEquipmentMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "ctk_EmployeeContributionPlanPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for employee contribution plan.", "label": "Employee Contribution Plan [Policy Text Block]", "terseLabel": "Employee Contribution Plan" } } }, "localname": "EmployeeContributionPlanPolicyTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "ctk_ForeignCurrencyRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Foreign Currency Risk [Line Items]" } } }, "localname": "ForeignCurrencyRiskLineItems", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails" ], "xbrltype": "stringItemType" }, "ctk_ForeignCurrencyRiskPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for foreign currency risk.", "label": "Foreign Currency Risk [Policy Text Block]", "terseLabel": "Foreign Currency Risk" } } }, "localname": "ForeignCurrencyRiskPolicyTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "ctk_ForeignCurrencyRiskTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting foreign currency risk.", "label": "Foreign Currency Risk [Table]" } } }, "localname": "ForeignCurrencyRiskTable", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails" ], "xbrltype": "stringItemType" }, "ctk_HighAndNewTechnologyEnterprisesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents an entity classification of High and New Technology Enterprises that receives preferential tax treatment.", "label": "High And New Technology Enterprises [Member]", "terseLabel": "High And New Technology Enterprises" } } }, "localname": "HighAndNewTechnologyEnterprisesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "ctk_IncomeTaxDisclosureLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Income Tax Disclosure [Line Items]", "terseLabel": "Income Taxes Expense" } } }, "localname": "IncomeTaxDisclosureLineItems", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "stringItemType" }, "ctk_IncomeTaxDisclosureTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information pertaining to income taxes.", "label": "Income Tax Disclosure [Table]" } } }, "localname": "IncomeTaxDisclosureTable", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "stringItemType" }, "ctk_IncomeTaxRateTireOne": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First tire of percentage of income tax rate applicable to pretax income (loss).", "label": "Income Tax Rate, Tire One", "terseLabel": "Income tax rate, tire one" } } }, "localname": "IncomeTaxRateTireOne", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "ctk_IncomeTaxRateTireTwo": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second tire of percentage of income tax rate applicable to pretax income (loss).", "label": "Income Tax Rate, Tire Two", "terseLabel": "Income tax rate, tire two" } } }, "localname": "IncomeTaxRateTireTwo", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "ctk_IncomeTaxTireOneMaximumProfits": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of maximum profits which is applicable to the first tire of income tax rate.", "label": "Income Tax, Tire One, Maximum Profits", "terseLabel": "Maximum profits, tire one income tax rate" } } }, "localname": "IncomeTaxTireOneMaximumProfits", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "monetaryItemType" }, "ctk_IncomeTaxTwoTieredProfitsTaxRateRegimeMaximumProfits": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of maximum profits which is applicable to the first tier of income tax rate.", "label": "Income Tax, Two-tiered Profits Tax Rate Regime, Maximum Profits", "terseLabel": "Maximum profits, tier one income tax rate" } } }, "localname": "IncomeTaxTwoTieredProfitsTaxRateRegimeMaximumProfits", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "monetaryItemType" }, "ctk_IncomeTaxTwoTieredProfitsTaxRateRegimeTierOneIncomeTaxRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First tier of percentage of income tax rate applicable to pretax income (loss).", "label": "Income Tax, Two-tiered Profits Tax Rate Regime, Tier One Income Tax Rate", "terseLabel": "Income tax rate, tier one" } } }, "localname": "IncomeTaxTwoTieredProfitsTaxRateRegimeTierOneIncomeTaxRate", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "ctk_IncomeTaxTwoTieredProfitsTaxRateRegimeTierTwoIncomeTaxRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second tier of percentage of income tax rate applicable to pretax income (loss).", "label": "Income Tax, Two-tiered Profits Tax Rate Regime, Tier Two Income Tax Rate", "terseLabel": "Income tax rate, tier two" } } }, "localname": "IncomeTaxTwoTieredProfitsTaxRateRegimeTierTwoIncomeTaxRate", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "ctk_IncreaseDecreaseInAccruedExpensesAndOtherCurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Expenses And Other Current Liabilities", "terseLabel": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid." } } }, "localname": "IncreaseDecreaseInAccruedExpensesAndOtherCurrentLiabilities", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "ctk_IncreaseDecreaseInOtherReceivablesDepositsAndOtherAssets": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amount of other receivables, deposits and other assets.", "label": "Increase (Decrease) in Other Receivables, Deposits and Other Assets", "negatedLabel": "Other receivables, deposits and other assets" } } }, "localname": "IncreaseDecreaseInOtherReceivablesDepositsAndOtherAssets", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "ctk_LineOfCredit2016Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information about line of credit availed in 2016.", "label": "Line Of Credit2016 [Member]", "terseLabel": "Credit facility, 2016" } } }, "localname": "LineOfCredit2016Member", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "ctk_LongTermLineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member represents information pertaining to long-term line of credit with maturity after 12 months.", "label": "Long Term Line Of Credit [Member]", "terseLabel": "Credit facility, long-term borrowings" } } }, "localname": "LongTermLineOfCreditMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "ctk_MajorVendorsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by name or description of a single external vendor or a group of external vendors.", "label": "Major Vendors [Axis]" } } }, "localname": "MajorVendorsAxis", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "stringItemType" }, "ctk_MajorVendorsDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Single external vendor or a group of external vendors.", "label": "Major Vendors [Domain]", "terseLabel": "Major Vendors [Domain]" } } }, "localname": "MajorVendorsDomain", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_NumberOfAdvertisingArrangements": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of advertising arrangements offer by the entity to its customers.", "label": "Number of Advertising Arrangements", "terseLabel": "Number of advertising arrangements" } } }, "localname": "NumberOfAdvertisingArrangements", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "integerItemType" }, "ctk_NumberOfGeneralPricingModels": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of general pricing models for advertising products.", "label": "Number of General Pricing Models", "terseLabel": "Number of general pricing models" } } }, "localname": "NumberOfGeneralPricingModels", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "integerItemType" }, "ctk_NumberOfInvestors": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of investors.", "label": "Number of Investors", "terseLabel": "Number of Investors" } } }, "localname": "NumberOfInvestors", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "integerItemType" }, "ctk_OptionPlan2012Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to 2012 Option Plan.", "label": "Option Plan2012 [Member]", "terseLabel": "2012 Option Plan" } } }, "localname": "OptionPlan2012Member", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "domainItemType" }, "ctk_OtherMonetaryAssetsCurrent": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other monetary assets, due within one year or the operating cycle, if longer.", "label": "Other Monetary Assets, Current", "terseLabel": "Others" } } }, "localname": "OtherMonetaryAssetsCurrent", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "ctk_OtherOperatingIncomeLossPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for Other operating income and loss", "label": "Other Operating Income Loss [Policy Text Block]", "terseLabel": "Other operating income (loss), net" } } }, "localname": "OtherOperatingIncomeLossPolicyTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "ctk_OtherReceivablesDepositsAndOtherAssetsCurrentDisclosureTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for other receivables, deposits and other assets, current.", "label": "Other Receivables, Deposits And Other Assets, Current, Disclosure [Table Text Block]", "verboseLabel": "Schedule of other receivables, deposits and other assets" } } }, "localname": "OtherReceivablesDepositsAndOtherAssetsCurrentDisclosureTableTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsTables" ], "xbrltype": "textBlockItemType" }, "ctk_OtherReceivablesDepositsAndOtherAssetsCurrentDisclosureTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other receivables, deposits and other assets, current.", "label": "Other Receivables, Deposits And Other Assets, Current, Disclosure [Text Block]", "verboseLabel": "Other receivables, deposits and other assets" } } }, "localname": "OtherReceivablesDepositsAndOtherAssetsCurrentDisclosureTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssets" ], "xbrltype": "textBlockItemType" }, "ctk_PaymentsForSettlementOfVestedShareBasedPaymentArrangementAwards": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for settlement of vested awards under the share-based payment arrangement.", "label": "Payments For Settlement Of Vested Share-Based Payment Arrangement Awards", "negatedLabel": "Cash paid to settle vested share options and restricted shares" } } }, "localname": "PaymentsForSettlementOfVestedShareBasedPaymentArrangementAwards", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "ctk_PercentageOfConsolidatedNetRevenues": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of revenues contributed to the consolidated net revenues.", "label": "Percentage of Consolidated Net Revenues", "terseLabel": "Percentage of consolidated net revenues" } } }, "localname": "PercentageOfConsolidatedNetRevenues", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "percentItemType" }, "ctk_PercentageOfConsolidatedTotalAssets": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of aggregate assets in consolidated total assets.", "label": "Percentage of Consolidated Total Assets", "terseLabel": "Percentage of consolidated total assets" } } }, "localname": "PercentageOfConsolidatedTotalAssets", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "percentItemType" }, "ctk_PercentageOfConsolidatedTotalLiabilities": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percentage of aggregate liabilities in consolidated total liabilities.", "label": "Percentage of Consolidated Total Liabilities", "terseLabel": "Percentage of consolidated total liabilities" } } }, "localname": "PercentageOfConsolidatedTotalLiabilities", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "percentItemType" }, "ctk_PeriodAfterTerminationOfEmploymentForTerminationOfRightToExerciseOptionsByParticipant": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the participant right to exercise options cease period after termination of employment.", "label": "Period after Termination of Employment for Termination of Right to Exercise Options by Participant", "terseLabel": "Participant right to exercise options cease period after termination of employment" } } }, "localname": "PeriodAfterTerminationOfEmploymentForTerminationOfRightToExerciseOptionsByParticipant", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "durationItemType" }, "ctk_PreferentialIncomeTaxRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic preferential tax rate applicable to pretax income (loss).", "label": "Preferential Income Tax Rate", "terseLabel": "Preferential income tax rate (in percent)" } } }, "localname": "PreferentialIncomeTaxRate", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "ctk_PreferentialIncomeTaxRatePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the preferential tax rate period.", "label": "Preferential Income Tax Rate Period", "terseLabel": "Preferential tax rate period" } } }, "localname": "PreferentialIncomeTaxRatePeriod", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "durationItemType" }, "ctk_PrepaidExpensesAndOtherCurrentAssetsTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure about prepaid expenses and other current assets.", "label": "Prepaid Expenses and Other Current Assets [Text Block]", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpensesAndOtherCurrentAssetsTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssets" ], "xbrltype": "textBlockItemType" }, "ctk_PrevailingBaseLendingRateOfPeoplesBankOfChinaSixMonthsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member represents information pertaining to prevailing base lending rate for 6 months as announced by the People's Bank of China (\"PBOC\").", "label": "Prevailing Base Lending Rate Of Peoples Bank Of China Six Months [Member]", "terseLabel": "PBOC rate, one year" } } }, "localname": "PrevailingBaseLendingRateOfPeoplesBankOfChinaSixMonthsMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "ctk_PurchaseOfPropertyAndEquipmentNonCashOrPartialNoncashTransaction": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of purchase of property and equipment included in payables during a non cash or partial non cash transaction.", "label": "Purchase of Property and Equipment Non cash Or Partial Noncash Transaction", "terseLabel": "Purchases of property and equipment included in payables" } } }, "localname": "PurchaseOfPropertyAndEquipmentNonCashOrPartialNoncashTransaction", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "ctk_RecognitionPeriodForReimbursement": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The contract term in which the reimbursements are recognized as other operating income, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Recognition Period for Reimbursement", "terseLabel": "Recognition term for ADR reimbursements (in years)" } } }, "localname": "RecognitionPeriodForReimbursement", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "durationItemType" }, "ctk_RepurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Repurchase plan.", "label": "Repurchase Plan [Member]", "terseLabel": "Repurchase Plan, Group" } } }, "localname": "RepurchasePlanMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureTreasurySharesDetails" ], "xbrltype": "domainItemType" }, "ctk_RevenueRecognitionSalesRebates": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash rebates offered on sales.", "label": "Revenue Recognition, Sales Rebates", "terseLabel": "Sales rebates" } } }, "localname": "RevenueRecognitionSalesRebates", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ScheduleOfChangesInDeferredTaxAssetsValuationAllowanceTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of changes in deferred tax assets valuation allowance.", "label": "Schedule of Changes in Deferred Tax Assets Valuation Allowance [Table Text Block]", "terseLabel": "Schedule of changes in valuation allowance" } } }, "localname": "ScheduleOfChangesInDeferredTaxAssetsValuationAllowanceTableTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables" ], "xbrltype": "textBlockItemType" }, "ctk_ScheduleOfLossBeforeIncomeTaxesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular information pertaining to loss before income taxes of an entity during the period.", "label": "Schedule Of Loss Before Income Taxes [Table Text block]", "terseLabel": "Schedule of loss before income taxes" } } }, "localname": "ScheduleOfLossBeforeIncomeTaxesTableTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables" ], "xbrltype": "textBlockItemType" }, "ctk_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Schedule of Property, Plant and Equipment, Useful Life [Table Text Block]", "terseLabel": "Schedule of estimated useful lives by major asset category" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "ctk_SeriesB1convertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series B-1 redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series B1convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series B -1 preferred shares" } } }, "localname": "SeriesB1convertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_SeriesBConvertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series B redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series B Convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series B preferred shares" } } }, "localname": "SeriesBConvertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_SeriesBPlusConvertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series B + redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series B Plus Convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series B + preferred shares" } } }, "localname": "SeriesBPlusConvertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_SeriesCConvertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series C redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series C Convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series C preferred shares" } } }, "localname": "SeriesCConvertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_SeriesConvertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series A redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series Convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series A preferred shares" } } }, "localname": "SeriesConvertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_SeriesD1ConvertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series D-1 redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series D1 Convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series D-1 preferred shares" } } }, "localname": "SeriesD1ConvertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_SeriesDConvertibleRedeemablePreferredSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of type or class of Series D redeemable convertible preferred stock. Convertible redeemable preferred stock possess conversion and redemption features. The stock has redemption features that are outside the control of the issuer.", "label": "Series D Convertible Redeemable Preferred Shares [Member]", "terseLabel": "Series D preferred shares" } } }, "localname": "SeriesDConvertibleRedeemablePreferredSharesMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "ctk_ShanghaiChuleCootekInformationTechnologyCo.Ltd.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Shanghai ChuLe (CooTek) Information Technology Co., Ltd.", "label": "Shanghai Chule Cootek Information Technology Co. Ltd. [Member]", "terseLabel": "Chu Le of WFOE" } } }, "localname": "ShanghaiChuleCootekInformationTechnologyCo.Ltd.Member", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "ctk_ShanghaiHanXiangCootekInformationTechnologyCo.LtdMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Shanghai Han Xiang (CooTek) Information Technology Co., Ltd.", "label": "Shanghai Han Xiang Cootek Information Technology Co. Ltd [Member]", "terseLabel": "Han Xiang" } } }, "localname": "ShanghaiHanXiangCootekInformationTechnologyCo.LtdMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "domainItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPercentagePerYear": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of stock awards vesting each year.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Percentage Per Year", "terseLabel": "Annual vesting percentage" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPercentagePerYear", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "percentItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Aggregate Intrinsic Value[Abstract]", "terseLabel": "Aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAggregateIntrinsicValueAbstract", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsFairValueOfUnderlyingSharesOnGrantDateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The maximum grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Fair Value of Underlying Shares on Grant Date, Maximum", "terseLabel": "Fair value of the underlying shares on the date of option grants, maximum (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsFairValueOfUnderlyingSharesOnGrantDateMaximum", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "perShareItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsFairValueOfUnderlyingSharesOnGrantDateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The minimum grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Fair Value of Underlying Shares on Grant Date, Minimum", "terseLabel": "Fair value of the underlying shares on the date of option grants, minimum (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsFairValueOfUnderlyingSharesOnGrantDateMinimum", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "perShareItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Weighted Average Remaining Contractual Term [Abstract]", "terseLabel": "Weighted average remaining contractual term" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsWeightedAverageRemainingContractualTermAbstract", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCostRecognized": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "An excess of the fair value of the modified award over the fair value of the award immediately before the modification, recognized during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Plan Modification, Incremental Compensation Cost Recognized", "terseLabel": "Incremental compensation cost recorded during the year" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCostRecognized", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCostYetToBeRecognized": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "An excess of the fair value of the modified award over the fair value of the award immediately before the modification, yet to be recognized.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Plan Modification, Incremental Compensation Cost Yet To Be Recognized", "terseLabel": "Incremental compensation amortized over the remaining vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCostYetToBeRecognized", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "monetaryItemType" }, "ctk_ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingOnNumberOfAnniversariesOfGrantDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of anniversaries of grant date on which share-based compensation awards vest.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Vesting On Number Of Anniversaries Of Grant Date", "terseLabel": "Vesting number of anniversaries" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardVestingOnNumberOfAnniversariesOfGrantDate", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "integerItemType" }, "ctk_ShareBasedPaymentArrangementOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share Based Payment Arrangement Option [Member]", "terseLabel": "Stock options" } } }, "localname": "ShareBasedPaymentArrangementOptionMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "domainItemType" }, "ctk_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options outstanding and currently exercisable under the stock option plan.", "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Grant Date Fair Value", "terseLabel": "Options exercisable (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "ctk_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options exercised under the stock option plan.", "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercised Weighted Average Grant Date Fair Value", "terseLabel": "Exercised (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisedWeightedAverageGrantDateFairValue", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "ctk_ShortTermInvestmentsPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for short-term investments.", "label": "Short-term Investments [Policy Text Block]", "terseLabel": "Short-term Investments" } } }, "localname": "ShortTermInvestmentsPolicyTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "ctk_ShortTermLineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member represents information pertaining to short-term line of credit with maturity up to 12 months.", "label": "Short Term Line Of Credit [Member]", "terseLabel": "Credit facility, short-term borrowings" } } }, "localname": "ShortTermLineOfCreditMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "ctk_StatusForTaxabilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to various tax status.", "label": "Status for Taxability [Axis]" } } }, "localname": "StatusForTaxabilityAxis", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "stringItemType" }, "ctk_StatusForTaxabilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents various tax status.", "label": "Status For Taxability [Domain]", "terseLabel": "Status For Taxability [Domain]" } } }, "localname": "StatusForTaxabilityDomain", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "ctk_StockIssuedDuringPeriodSharesConversionOfCommonStockToOtherClass": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of the conversion of the common stock to other classes.", "label": "Stock Issued During Period, Shares, Conversion Of Common Stock to Other Class", "terseLabel": "Conversion of preferred shares into Class A ordinary shares upon IPO(Note 12) (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesConversionOfCommonStockToOtherClass", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "ctk_StockIssuedDuringPeriodValueConversionOfCommonStockToOtherClass": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The gross value of stock issued during the period upon the conversion of common stock other classes.", "label": "Stock Issued During Period, Value, Conversion Of Common Stock Another Class", "terseLabel": "Conversion of preferred shares into Class A ordinary shares upon IPO(Note 12)" } } }, "localname": "StockIssuedDuringPeriodValueConversionOfCommonStockToOtherClass", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "ctk_ThreeInvestorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents Three Investors.", "label": "Three Investors [Member]", "terseLabel": "Three Investors" } } }, "localname": "ThreeInvestorsMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "domainItemType" }, "ctk_TreasuryStockPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for treasury stock.", "label": "Treasury Stock, Policy [Policy Text Block]", "terseLabel": "Treasury Shares" } } }, "localname": "TreasuryStockPolicyPolicyTextBlock", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "ctk_VendorConcentrationRiskMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Vendor concentration risk.", "label": "Vendor Concentration Risk [Member]", "terseLabel": "Vendor concentration risk" } } }, "localname": "VendorConcentrationRiskMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "ctk_VirtualItemsForLiveSocialVideoCommunityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to virtual items for live social video community.", "label": "Virtual Items For Live Social Video Community [Member]", "terseLabel": "Virtual Items For Live Social Video Community [Member]" } } }, "localname": "VirtualItemsForLiveSocialVideoCommunityMember", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "ctk_WeightedAverageSharesOutstandingProFormAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "No Definition Available.", "label": "Weighted Average Shares Outstanding Pro Form [Abstract]", "terseLabel": "Pro forma weighted average shares used in calculating net loss per ordinary share:" } } }, "localname": "WeightedAverageSharesOutstandingProFormAbstract", "nsuri": "http://www.cootek.com/20201231", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails" ], "xbrltype": "domainItemType" }, "currency_CNY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "C N [Y]", "terseLabel": "RMB" } } }, "localname": "CNY", "nsuri": "http://xbrl.sec.gov/currency/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails" ], "xbrltype": "domainItemType" }, "dei_AddressTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An entity may have several addresses for different purposes and this domain represents all such types.", "label": "Address Type [Domain]", "terseLabel": "Address Type [Domain]" } } }, "localname": "AddressTypeDomain", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "domainItemType" }, "dei_AmendmentDescription": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of changes contained within amended document.", "label": "Amendment Description" } } }, "localname": "AmendmentDescription", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_BusinessContactMember": { "auth_ref": [ "r494", "r495" ], "lang": { "en-us": { "role": { "documentation": "Business contact for the entity", "label": "Business Contact [Member]", "terseLabel": "Business Contact" } } }, "localname": "BusinessContactMember", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "domainItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_ContactPersonnelEmailAddress": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Email address of contact personnel.", "label": "Contact Personnel Email Address" } } }, "localname": "ContactPersonnelEmailAddress", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_ContactPersonnelName": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of contact personnel", "label": "Contact Personnel Name" } } }, "localname": "ContactPersonnelName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CountryRegion": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Region code of country", "label": "Country Region" } } }, "localname": "CountryRegion", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAccountingStandard": { "auth_ref": [ "r494" ], "lang": { "en-us": { "role": { "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.", "label": "Document Accounting Standard" } } }, "localname": "DocumentAccountingStandard", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "accountingStandardItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r493", "r494", "r495" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Document Information [Line Items]" } } }, "localname": "DocumentInformationLineItems", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_DocumentInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.", "label": "Document Information [Table]" } } }, "localname": "DocumentInformationTable", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentRegistrationStatement": { "auth_ref": [ "r500" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a registration statement.", "label": "Document Registration Statement" } } }, "localname": "DocumentRegistrationStatement", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentShellCompanyReport": { "auth_ref": [ "r494" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.", "label": "Document Shell Company Report" } } }, "localname": "DocumentShellCompanyReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r496" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine2": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 2 such as Street or Suite number", "label": "Entity Address, Address Line Two" } } }, "localname": "EntityAddressAddressLine2", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine3": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 3 such as an Office Park", "label": "Entity Address, Address Line Three" } } }, "localname": "EntityAddressAddressLine3", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCountry": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ISO 3166-1 alpha-2 country code.", "label": "Entity Address, Country" } } }, "localname": "EntityAddressCountry", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "countryCodeItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityAddressesAddressTypeAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table.", "label": "Entity Addresses, Address Type [Axis]" } } }, "localname": "EntityAddressesAddressTypeAxis", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stringItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r499" ], "lang": { "en-us": { "role": { "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.", "label": "Entity Ex Transition Period" } } }, "localname": "EntityExTransitionPeriod", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r498" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityListingDepositoryReceiptRatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of underlying shares represented by one American Depository Receipt (ADR) or Global Depository Receipt (GDR). A value of '3' means that one ADR represents 3 underlying shares. If one underlying share represents 2 ADR's then the value would be represented as '0.5'.", "label": "Entity Listing, Depository Receipt Ratio", "terseLabel": "ADS ratio" } } }, "localname": "EntityListingDepositoryReceiptRatio", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "pureItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r497" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_NoTradingSymbolFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a security having no trading symbol.", "label": "No Trading Symbol Flag" } } }, "localname": "NoTradingSymbolFlag", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r491" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r492" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "srt_ConsolidatedEntitiesAxis": { "auth_ref": [ "r357", "r358", "r363", "r364", "r489" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Axis]" } } }, "localname": "ConsolidatedEntitiesAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "stringItemType" }, "srt_ConsolidatedEntitiesDomain": { "auth_ref": [ "r357", "r358", "r363", "r364" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Domain]", "terseLabel": "Consolidated Entities [Domain]" } } }, "localname": "ConsolidatedEntitiesDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails" ], "xbrltype": "stringItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r204", "r258", "r263", "r463" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r272", "r273", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r460", "r464" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r272", "r273", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r460", "r464" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r204", "r258", "r263", "r463" ], "lang": { "en-us": { "role": { "label": "Name Of Major Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "srt_OwnershipAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Ownership [Axis]" } } }, "localname": "OwnershipAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "stringItemType" }, "srt_OwnershipDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Ownership [Domain]", "terseLabel": "Ownership [Domain]" } } }, "localname": "OwnershipDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r198", "r258", "r261", "r421", "r459", "r461" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r198", "r258", "r261", "r421", "r459", "r461" ], "lang": { "en-us": { "role": { "label": "Products And Services [Domain]", "terseLabel": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r271", "r272", "r273", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r460", "r464" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r271", "r272", "r273", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r460", "r464" ], "lang": { "en-us": { "role": { "label": "Range [Member]", "terseLabel": "Range [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r199", "r200", "r258", "r262", "r462", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487" ], "lang": { "en-us": { "role": { "label": "Segment Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "http://www.cootek.com/role/DisclosureSegmentInformationDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r199", "r200", "r258", "r262", "r462", "r474", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails", "http://www.cootek.com/role/DisclosureSegmentInformationDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.", "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "terseLabel": "Accrued Expenses and Other Current Liabilities" } } }, "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r49" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableMember": { "auth_ref": [ "r14" ], "lang": { "en-us": { "role": { "documentation": "Obligations incurred and payable to vendors for goods and services received.", "label": "Accounts Payable [Member]", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r206", "r207" ], "calculation": { "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Gross, Current", "terseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts receivables" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r4", "r31", "r206", "r207" ], "calculation": { "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of US$1,774,192 and US$1,961,728 as of December 31, 2019 and September 30, 2020, respectively", "totalLabel": "Accounts receivable, net", "verboseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Receivable, net" } } }, "localname": "AccountsReceivableNetCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "auth_ref": [ "r13", "r52", "r319" ], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 1.0, "parentTag": "ctk_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrual for Taxes Other than Income Taxes, Current", "terseLabel": "Other tax payables" } } }, "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r52" ], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 2.0, "parentTag": "ctk_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued expenses" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r47", "r231" ], "calculation": { "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less: Accumulated depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r34", "r68", "r70", "r71", "r448", "r469", "r470" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "verboseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r67", "r71", "r72", "r128", "r129", "r130", "r362", "r465", "r466" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "Accumulated Other Comprehensive Income [Member]", "terseLabel": "Accumulated other comprehensive (loss) income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r32", "r313" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r128", "r129", "r130", "r310", "r311", "r312" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid In Capital [Member]", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r274", "r276", "r316", "r317" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Share-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "auth_ref": [ "r320" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for advertising cost.", "label": "Advertising Costs, Policy [Policy Text Block]", "terseLabel": "Sales and Marketing Expenses" } } }, "localname": "AdvertisingCostsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_AdvertisingExpense": { "auth_ref": [ "r321" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.", "label": "Advertising Expense", "terseLabel": "Advertising expenses" } } }, "localname": "AdvertisingExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesSalesAndMarketingExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdvertisingMember": { "auth_ref": [ "r261" ], "lang": { "en-us": { "role": { "documentation": "Announcement promoting product, service, or event.", "label": "Advertising [Member]", "terseLabel": "Advertising revenue" } } }, "localname": "AdvertisingMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r276", "r305", "r315" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Allocated Share-based Compensation Expense", "terseLabel": "Share-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r38", "r212", "r221" ], "calculation": { "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for Doubtful Accounts Receivable, Current", "negatedPeriodEndLabel": "Balance at end of the year/period", "negatedPeriodStartLabel": "Balance at beginning of the year/period", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Allowance for doubtful accounts:" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "auth_ref": [ "r223" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance.", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "terseLabel": "Write-off" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Number of anti-dilutive securities" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r121", "r184", "r188", "r194", "r219", "r357", "r363", "r380", "r426", "r445" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "terseLabel": "Assets", "totalLabel": "TOTAL ASSETS" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r7", "r9", "r65", "r121", "r219", "r357", "r363", "r380" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r277", "r308" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r373", "r374" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]", "terseLabel": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BasicEarningsPerShareProForma": { "auth_ref": [ "r0", "r409" ], "lang": { "en-us": { "role": { "documentation": "Pro forma basic earnings per share or earnings per unit, which is commonly presented in initial public offerings based on the terms of the offering.", "label": "Basic Earnings Per Share, Pro Forma", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "BasicEarningsPerShareProForma", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r42", "r111" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": { "auth_ref": [ "r15", "r112", "r118", "r424" ], "lang": { "en-us": { "role": { "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.", "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash, Cash Equivalents and Restricted Cash" } } }, "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r105", "r111", "r117" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents, and restricted cash at end of period", "periodStartLabel": "Cash, cash equivalents, and restricted cash at beginning of period", "totalLabel": "Total cash, cash equivalents, and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignCurrencyRiskDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents [Abstract]", "terseLabel": "Reconciliation in amounts on consolidated balance sheets:" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "auth_ref": [ "r105", "r386" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect", "totalLabel": "Net (decrease) increase in cash, cash equivalents, and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInContractWithCustomerAssetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Receivable" } } }, "localname": "ChangeInContractWithCustomerAssetAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Deferred Revenue" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r120", "r121", "r145", "r146", "r147", "r150", "r152", "r160", "r161", "r162", "r219", "r380" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class Of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r57", "r237", "r434", "r452" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsDisclosureTextBlock": { "auth_ref": [ "r236" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant arrangements with third parties, which includes operating lease arrangements and arrangements in which the entity has agreed to expend funds to procure goods or services, or has agreed to commit resources to supply goods or services, and operating lease arrangements. Descriptions may include identification of the specific goods and services, period of time covered, minimum quantities and amounts, and cancellation rights.", "label": "Commitments Disclosure [Text Block]", "verboseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonClassAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Classification of common stock representing ownership interest in a corporation.", "label": "Common Class A [Member]", "terseLabel": "Class A" } } }, "localname": "CommonClassAMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_CommonClassBMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.", "label": "Common Class B [Member]", "terseLabel": "Class B" } } }, "localname": "CommonClassBMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r128", "r129" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Ordinary shares" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r29" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Ordinary shares, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r29" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Ordinary shares, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r29" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Ordinary shares, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r29", "r240" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)", "terseLabel": "Ordinary shares, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r29" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Ordinary shares" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r74", "r76", "r77", "r82", "r437", "r454" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive Loss" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for comprehensive income.", "label": "Comprehensive Income, Policy [Policy Text Block]", "terseLabel": "Comprehensive (Loss) Income" } } }, "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r170", "r171", "r204", "r377", "r378" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r170", "r171", "r204", "r377", "r378", "r471" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r170", "r171", "r204", "r377", "r378", "r471" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r165", "r440" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Concentration and Risks" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration and risks", "verboseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r170", "r171", "r204", "r377", "r378" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "verboseLabel": "Concentration risk (as a percent)" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r168", "r170", "r171", "r172", "r377", "r379" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r170", "r171", "r204", "r377", "r378" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "domainItemType" }, "us-gaap_ConsolidationPolicyTextBlock": { "auth_ref": [ "r118", "r359" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.", "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation" } } }, "localname": "ConsolidationPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction In Progress [Member]", "terseLabel": "Construction in Progress" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r249" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Schedule of movements in accounts receivable and deferred revenue" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r246", "r248", "r259" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, Net, Current", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r246", "r247", "r259" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Customer Advances, Current", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r260" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized included in contract liability at beginning of quarter" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r88", "r121", "r219", "r380" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of revenue.", "negatedLabel": "Cost of revenue (including share-based compensation of US$65,858 and US$198,402 in the nine months ended September 30, 2019 and 2020, respectively)" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost Of Sales [Member]", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfSalesPolicyTextBlock": { "auth_ref": [ "r270" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cost of product sold and service rendered.", "label": "Cost of Sales, Policy [Policy Text Block]", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfSalesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r122", "r340", "r347", "r349" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "verboseLabel": "Current tax expenses" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r169", "r204" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer concentration risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerDepositsCurrent": { "auth_ref": [ "r52" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings.", "label": "Contract Deposits from Customers Current", "terseLabel": "Contract deposits from customers" } } }, "localname": "CustomerDepositsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Short-term Bank Borrowings" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r238" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "terseLabel": "Short-term Bank Borrowings" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowings" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r21", "r23", "r24", "r427", "r429", "r442" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "verboseLabel": "Variable interest rate (as a percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r396", "r397" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Debt Instrument, Face Amount", "terseLabel": "Debentures issued" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r54" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument Name [Domain]", "terseLabel": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Debt Instrument, Term", "verboseLabel": "Maturity period (in years)" } } }, "localname": "DebtInstrumentTerm", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "durationItemType" }, "us-gaap_DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction": { "auth_ref": [ "r114", "r115", "r116" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of debt issuance costs that were incurred during a noncash or partial noncash transaction.", "label": "Debt Issuance Costs Incurred During Noncash or Partial Noncash Transaction", "terseLabel": "Deferred issuance costs not yet paid" } } }, "localname": "DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.", "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]", "terseLabel": "Schedule of prepaid expenses and other current assets" } } }, "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r109", "r122", "r341", "r347", "r348", "r349" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "verboseLabel": "Deferred tax benefits" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilities": { "auth_ref": [ "r25", "r26", "r335", "r428", "r441" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.", "label": "Deferred Tax Liabilities, Gross", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenue" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueRevenueRecognized1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue.", "label": "Deferred Revenue, Revenue Recognized", "terseLabel": "Revenue recognized, included in the balance of deferred revenue" } } }, "localname": "DeferredRevenueRevenueRecognized1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesContractBalancesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepositsSavingsDeposits": { "auth_ref": [ "r433" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of interest bearing deposits with no stated maturity, which may include passbook and statement savings accounts and money-market deposit accounts (MMDAs).", "label": "Deposits, Savings Deposits" } } }, "localname": "DepositsSavingsDeposits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r109", "r229" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "terseLabel": "Depreciation expenses" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r109", "r182" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DilutedEarningsPerShareProForma": { "auth_ref": [ "r0", "r409" ], "lang": { "en-us": { "role": { "documentation": "Pro forma diluted earnings per share, which is commonly presented in initial public offerings.", "label": "Diluted Earnings Per Share Pro Forma", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "DilutedEarningsPerShareProForma", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r258", "r261", "r262", "r263", "r264", "r265", "r266", "r267" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r318" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "verboseLabel": "Share-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Country [Member]", "terseLabel": "U.S." } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DueFromAffiliateNoncurrent": { "auth_ref": [ "r16", "r123", "r404", "r405", "r406", "r425", "r443", "r472" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of receivables due from an entity that is affiliated with the reporting entity by means of direct or indirect ownership, due after 1 year (or 1 business cycle).", "label": "Due from Affiliate, Noncurrent" } } }, "localname": "DueFromAffiliateNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "monetaryItemType" }, "us-gaap_DueFromRelatedPartiesCurrent": { "auth_ref": [ "r5", "r16", "r30", "r123", "r404" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).", "label": "Due from Related Parties, Current", "terseLabel": "Amount due from related parties" } } }, "localname": "DueFromRelatedPartiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DueFromRelatedPartiesNoncurrent": { "auth_ref": [ "r43", "r126", "r404" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due after one year (or one business cycle).", "label": "Due from Related Parties, Noncurrent", "terseLabel": "Amount due from related parties-non-current" } } }, "localname": "DueFromRelatedPartiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Loss Per Share" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r83", "r133", "r134", "r135", "r136", "r137", "r141", "r145", "r150", "r151", "r152", "r156", "r157", "r438", "r455" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAndDiluted": { "auth_ref": [ "r151" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income or loss for the period per each share in instances when basic and diluted earnings per share are the same amount and reported as a single line item on the face of the financial statements. Basic earnings per share is the amount of net income or loss for the period per each share of common stock or unit outstanding during the reporting period. Diluted earnings per share includes the amount of net income or loss for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Basic and Diluted", "terseLabel": "Net loss earnings per share-basic and diluted" } } }, "localname": "EarningsPerShareBasicAndDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAndDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted [Abstract]", "terseLabel": "Net Loss per ordinary share:" } } }, "localname": "EarningsPerShareBasicAndDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]", "terseLabel": "Weighted average shares used in calculating net loss per ordinary share:" } } }, "localname": "EarningsPerShareBasicAndDilutedOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasicLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Earnings Per Share, Basic, by Common Class, Including Two Class Method [Line Items]", "terseLabel": "Loss per share" } } }, "localname": "EarningsPerShareBasicLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r83", "r133", "r134", "r135", "r136", "r137", "r145", "r150", "r151", "r152", "r156", "r157", "r438", "r455" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r118", "r153", "r154" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Loss Per Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareProFormaAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Pro Forma [Abstract]", "terseLabel": "Pro forma net loss per ordinary share (Note 13):" } } }, "localname": "EarningsPerShareProFormaAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r153", "r154", "r155", "r158" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Loss Per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r386" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r328" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r328", "r350" ], "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Statutory income tax rate (in percent)" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r52" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued salary and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r307" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "verboseLabel": "Weighted-average recognition period for unrecognized compensation cost" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r307" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r307" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Stock Options", "terseLabel": "Unrecognized compensation cost related to non-vested stock options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r304" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Employee Stock Option [Member]", "terseLabel": "Share options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r128", "r129", "r130", "r132", "r138", "r140", "r159", "r220", "r240", "r242", "r310", "r311", "r312", "r343", "r344", "r387", "r388", "r389", "r390", "r391", "r393", "r465", "r466", "r467" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.", "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r118", "r375", "r376" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Financial Instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r227", "r422" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 9.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r381", "r382", "r383", "r385" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign exchange losses, net" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r118", "r395" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.", "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "terseLabel": "Foreign Currency Translation" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r109" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Loss on disposal of property and equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r90" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "negatedLabel": "General and administrative expenses (including share-based compensation of US$434,790 and US$1,281,380 in the nine months ended September 30, 2019 and 2020, respectively)" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r84" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General And Administrative Expense [Member]", "terseLabel": "General and administrative expenses" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r87", "r121", "r184", "r187", "r190", "r193", "r196", "r219", "r380" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IPOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First sale of stock by a private company to the public.", "label": "I P O [Member]", "terseLabel": "IPO" } } }, "localname": "IPOMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ImpairmentOfInvestments": { "auth_ref": [ "r217" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.", "label": "Other than Temporary Impairment Losses, Investments", "negatedLabel": "Impairment loss of investment", "terseLabel": "Impairment losses" } } }, "localname": "ImpairmentOfInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": { "auth_ref": [ "r118", "r228", "r234" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.", "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]", "terseLabel": "Impairment of Long-lived Assets" } } }, "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r80", "r184", "r187", "r190", "r193", "r196", "r423", "r435", "r439", "r457" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Loss before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromSubsidiariesNetOfTax": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of income (loss) of subsidiary attributable to the parent entity.", "label": "Income (Loss) from Subsidiaries, Net of Tax" } } }, "localname": "IncomeLossFromSubsidiariesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r233" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r331" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Taxes Expense" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r329", "r333", "r339", "r345", "r351", "r353", "r354", "r355" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "Income Taxes Expense" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpense" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r122", "r139", "r140", "r183", "r327", "r346", "r352", "r458" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "negatedLabel": "Income tax expense", "totalLabel": "Total" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]", "verboseLabel": "Current and deferred portion of income tax expenses" } } }, "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseCurrentAndDeferredPortionOfIncomeTaxExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r78", "r118", "r325", "r326", "r333", "r334", "r338", "r342", "r476" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r113" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "verboseLabel": "Income taxes paid" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Customer Advances", "terseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.", "label": "Increase (Decrease) in Employee Related Liabilities", "terseLabel": "Accrued salary and benefits" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "terseLabel": "Accrued expenses and other current liabilities" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.", "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other non-current assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "terseLabel": "Other non-current liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseInRestrictedCash": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow associated with funds that are not available for withdrawal or use (such as funds held in escrow) and are associated with underlying transactions that are classified as investing activities.", "label": "Increase in Restricted Cash", "terseLabel": "Addition in restricted cash" } } }, "localname": "IncreaseInRestrictedCash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IntangibleAssetsFiniteLivedPolicy": { "auth_ref": [ "r118", "r226", "r418", "r419", "r420", "r422" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.", "label": "Intangible Assets, Finite-Lived, Policy [Policy Text Block]", "terseLabel": "Intangible Assets" } } }, "localname": "IntangibleAssetsFiniteLivedPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of nonoperating interest income (expense).", "label": "InterestIncomeExpenseNonoperatingNet", "terseLabel": "Interest income, net" } } }, "localname": "InterestIncomeExpenseNonoperatingNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r103", "r106", "r113" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Interest paid" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentPolicyTextBlock": { "auth_ref": [ "r218", "r456" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for investment in financial asset.", "label": "Investment, Policy [Policy Text Block]", "terseLabel": "Long-term Investments" } } }, "localname": "InvestmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Investments in and Advances to Affiliates [Line Items]", "terseLabel": "Organization and Principal Activities" } } }, "localname": "InvestmentsInAndAdvancesToAffiliatesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InvestmentsInAndAdvancesToAffiliatesTable": { "auth_ref": [ "r473" ], "lang": { "en-us": { "role": { "documentation": "Listing of investments in affiliates and investments that are advances to affiliates.", "label": "Investments in and Advances to Affiliates [Table]" } } }, "localname": "InvestmentsInAndAdvancesToAffiliatesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r230" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeLeasesPolicyTextBlock": { "auth_ref": [ "r402" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.", "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Operating Leases" } } }, "localname": "LesseeLeasesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r51", "r121", "r189", "r219", "r358", "r363", "r364", "r380" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "TOTAL LIABILITIES" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities [Abstract]", "terseLabel": "LIABILITIES" } } }, "localname": "LiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r37", "r121", "r219", "r380", "r430", "r450" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND SHAREHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r53", "r121", "r219", "r358", "r363", "r364", "r380" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities (including amounts of the consolidated VIEs without recourse to the Company. See Note 2(b)):" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": { "auth_ref": [ "r50" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Current Borrowing Capacity", "terseLabel": "Total available credit amount" } } }, "localname": "LineOfCreditFacilityCurrentBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Line of Credit Facility [Line Items]", "terseLabel": "Credit facility" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r50" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Total credit available under this facility" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r50", "r124" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.", "label": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.", "label": "Line Of Credit [Member]", "terseLabel": "Credit facility" } } }, "localname": "LineOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "auth_ref": [ "r215" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.", "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "verboseLabel": "Accounts receivable, net" } } }, "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r202" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.", "label": "Long-lived Assets by Geographic Areas [Table Text Block]", "terseLabel": "Schedule of non-current assets based on geographical location of the assets" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSegmentInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r55" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after unamortized (discount) premium and debt issuance costs of long-term debt classified as noncurrent and excluding amounts to be repaid within one year or the normal operating cycle, if longer. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term borrowing (including long-term borrowing of VIEs, without recourse to the Company of US$583,386 and nil, as of December 31, 2016 and 2017)" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermInvestments": { "auth_ref": [ "r44" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).", "label": "Long-term Investments", "terseLabel": "Long-term investments" } } }, "localname": "LongTermInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity.", "label": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners", "terseLabel": "Percentage of interest acquired by outside investors" } } }, "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r105" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash (used in) financing activities", "verboseLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r105" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash (used in) investing activities", "verboseLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r105", "r107", "r110" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "terseLabel": "Net cash (used in) provided by operating activities", "totalLabel": "Net cash (used in) provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r73", "r75", "r81", "r110", "r121", "r131", "r133", "r134", "r135", "r136", "r139", "r140", "r148", "r184", "r187", "r190", "r193", "r196", "r219", "r380", "r436", "r453" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "positiveTerseLabel": "Net (loss) income", "verboseLabel": "Net Loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": { "auth_ref": [ "r133", "r134", "r135", "r136", "r141", "r142", "r149", "r152", "r184", "r187", "r190", "r193", "r196" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.", "label": "Net Income (Loss) Available to Common Stockholders, Basic", "totalLabel": "Net Loss attributable to ordinary shareholders", "verboseLabel": "Net loss attributable to ordinary shareholders" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental disclosure of noncash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NoncurrentAssets": { "auth_ref": [ "r200" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.", "label": "Long-Lived Assets", "terseLabel": "Non-current assets" } } }, "localname": "NoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r177" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OfficeEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine.", "label": "Office Equipment [Member]", "terseLabel": "Office equipment and furniture" } } }, "localname": "OfficeEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "negatedTotalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r184", "r187", "r190", "r193", "r196" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "terseLabel": "Loss from operations", "totalLabel": "Loss from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r401" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "verboseLabel": "Rental expenses under operating leases" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": { "auth_ref": [ "r398", "r399" ], "calculation": { "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.", "label": "Operating Leases, Future Minimum Payments Due", "terseLabel": "Future minimum operating lease commitments", "totalLabel": "Total" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRecentAccountingPronouncementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Future lease payments under operating leases" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent": { "auth_ref": [ "r398", "r399" ], "calculation": { "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments Due, Next Twelve Months", "verboseLabel": "2021" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": { "auth_ref": [ "r398", "r399" ], "calculation": { "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 3.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Four Years", "terseLabel": "2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": { "auth_ref": [ "r398", "r399" ], "calculation": { "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 4.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Three Years", "verboseLabel": "2023" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": { "auth_ref": [ "r398", "r399" ], "calculation": { "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 5.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Due in Two Years", "verboseLabel": "2022" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "Operating Leases, Future Minimum Payments, Remainder of Fiscal Year", "terseLabel": "The remaining of 2020" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization and Principal Activities" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r2", "r372" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "Organization and Principal Activities" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivities" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r48" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 10.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other non-current assets", "verboseLabel": "Other noncurrent assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r66" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustments, net of tax of nil", "verboseLabel": "Foreign currency translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": { "auth_ref": [ "r66", "r69", "r384", "r392" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax", "terseLabel": "Foreign currency translation adjustments, tax" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive (loss) income" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCostAndExpenseOperating": { "auth_ref": [ "r89" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The total amount of other operating cost and expense items that are associated with the entity's normal revenue producing operation.", "label": "Other Cost and Expense, Operating", "terseLabel": "Other operating loss" } } }, "localname": "OtherCostAndExpenseOperating", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherIncomeAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Operating Income (Loss), net" } } }, "localname": "OtherIncomeAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherIncomeAndOtherExpenseDisclosureTextBlock": { "auth_ref": [ "r269", "r322" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other income or other expense items (both operating and nonoperating). Sources of nonoperating income or nonoperating expense that may be disclosed, include amounts earned from dividends, interest on securities, profits (losses) on securities, net and miscellaneous other income or income deductions.", "label": "Other Income and Other Expense Disclosure [Text Block]", "terseLabel": "Other operating income (loss), net" } } }, "localname": "OtherIncomeAndOtherExpenseDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r11", "r12", "r52" ], "calculation": { "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 5.0, "parentTag": "ctk_AccruedExpensesAndOtherCurrentLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Others" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r56" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other non-current liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentLiabilitiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent liabilities.", "label": "Other Noncurrent Liabilities [Member]", "terseLabel": "Other non-current liabilities" } } }, "localname": "OtherNoncurrentLiabilitiesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherOperatingIncome": { "auth_ref": [ "r86" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of other operating income, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operation.", "label": "Other Operating Income", "terseLabel": "Other operating income, net" } } }, "localname": "OtherOperatingIncome", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingIncomeAndExpenseTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for other operating income and other operating expense items.", "label": "Other Operating Income and Expense [Text Block]", "terseLabel": "Other Operating Income (Loss), net" } } }, "localname": "OtherOperatingIncomeAndExpenseTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOtherOperatingIncomeLossNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherOperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other operating income (expense).", "label": "Other Operating Income Expense [Member]", "terseLabel": "Other operating income" } } }, "localname": "OtherOperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherOperatingIncomeExpenseNet": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 5.0, "parentTag": "us-gaap_OperatingExpenses", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.", "label": "Other Operating Income (Expense), Net", "terseLabel": "Other operating income (loss), net" } } }, "localname": "OtherOperatingIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherReceivablesNetCurrent": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer.", "label": "Other Receivables, Net, Current", "terseLabel": "Other receivables" } } }, "localname": "OtherReceivablesNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRepurchaseOfEquity": { "auth_ref": [ "r100" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common and preferred stock.", "label": "Payments for Repurchase of Equity", "negatedLabel": "Payments of share repurchases" } } }, "localname": "PaymentsForRepurchaseOfEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r102" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "Payments of Stock Issuance Costs", "negatedTerseLabel": "Cash paid for deferred issuance costs" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireInterestInSubsidiariesAndAffiliates": { "auth_ref": [ "r95" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of or advances to an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, and joint venture or equity method investment) or the acquisition of an additional interest in a subsidiary (controlled entity).", "label": "Investment in Subsidiaries" } } }, "localname": "PaymentsToAcquireInterestInSubsidiariesAndAffiliates", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireLongtermInvestments": { "auth_ref": [ "r97" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, beyond the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the long-term.", "label": "Payments to Acquire Long-term Investments", "negatedLabel": "Purchases of long-term investments" } } }, "localname": "PaymentsToAcquireLongtermInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireProductiveAssets": { "auth_ref": [ "r96" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for purchases of and capital improvements on property, plant and equipment (capital expenditures), software, and other intangible assets.", "label": "Payments to Acquire Productive Assets", "negatedLabel": "Purchases of property, equipment and intangible assets" } } }, "localname": "PaymentsToAcquireProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r96" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "auth_ref": [ "r97" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.", "label": "Payments to Acquire Short-term Investments", "negatedLabel": "Purchases of short-term investments" } } }, "localname": "PaymentsToAcquireShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToFundLongtermLoansToRelatedParties": { "auth_ref": [ "r94", "r403" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with extending a long-term loan to a related party. Alternate caption: Payments for Advances to Affiliates.", "label": "Payments to Fund Long-term Loans to Related Parties", "negatedLabel": "Advances to related parties" } } }, "localname": "PaymentsToFundLongtermLoansToRelatedParties", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r277", "r308" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureTreasurySharesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureTreasurySharesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockRedemptionAmount": { "auth_ref": [ "r58", "r239" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The redemption (or callable) amount of currently redeemable preferred stock. Includes amounts representing dividends not currently declared or paid but which will be payable under the redemption features or for which ultimate payment is solely within the control of the issuer.", "label": "Preferred Stock, Redemption Amount", "terseLabel": "Convertible redeemable preferred shares, redemption value" } } }, "localname": "PreferredStockRedemptionAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r7", "r40", "r41" ], "calculation": { "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "totalLabel": "Prepaid expenses and other current assets", "verboseLabel": "Prepaid expense and other assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Prepaid Expenses and Other Current Assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ProFormaWeightedAverageSharesOutstandingDiluted": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average number of shares or units and dilutive common stock or unit equivalents outstanding in the calculation of proforma diluted earnings per share (earnings per unit), which is commonly presented in initial public offerings based on the terms of the offering.", "label": "Pro Forma Weighted Average Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)" } } }, "localname": "ProFormaWeightedAverageSharesOutstandingDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_ProceedsFromBankDebt": { "auth_ref": [ "r99" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from bank borrowing during the year.", "label": "Proceeds from Bank Debt", "terseLabel": "Proceeds from short-term bank borrowings" } } }, "localname": "ProceedsFromBankDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromCollectionOfLongtermLoansToRelatedParties": { "auth_ref": [ "r91", "r403" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with collection, whether partial or full, of long-term loans to a related party. Alternate caption: Proceeds from Advances to Affiliates.", "label": "Proceeds from Collection of Long-term Loans to Related Parties", "terseLabel": "Repayment of advances to related parties" } } }, "localname": "ProceedsFromCollectionOfLongtermLoansToRelatedParties", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "auth_ref": [ "r98" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.", "label": "Proceeds from Issuance Initial Public Offering", "verboseLabel": "Proceeds from initial public offering, net of offering cost of US$2,615,726" } } }, "localname": "ProceedsFromIssuanceInitialPublicOffering", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLinesOfCredit": { "auth_ref": [ "r99", "r125" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "Proceeds from Lines of Credit", "terseLabel": "Amount borrowed" } } }, "localname": "ProceedsFromLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionOfShorttermInvestments": { "auth_ref": [ "r93" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from sales, maturities, prepayments, calls and collections of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.", "label": "Proceeds from Sale, Maturity and Collection of Short-term Investments", "verboseLabel": "Maturity of short-term investments" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionOfShorttermInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "auth_ref": [ "r92" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets.", "label": "Proceeds from Sale of Productive Assets", "terseLabel": "Proceeds from disposal of property and equipment" } } }, "localname": "ProceedsFromSaleOfProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r98", "r309" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from issuance of ordinary shares upon exercise of share options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductAndServiceOtherMember": { "auth_ref": [ "r261" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other.", "label": "Product And Service Other [Member]", "terseLabel": "Other revenue" } } }, "localname": "ProductAndServiceOtherMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProductInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Product Information [Line Items]", "terseLabel": "Revenue Recognition" } } }, "localname": "ProductInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r1", "r73", "r75", "r104", "r121", "r131", "r139", "r140", "r184", "r187", "r190", "r193", "r196", "r219", "r356", "r360", "r361", "r370", "r371", "r380", "r439" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net Loss" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r47", "r232" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r235", "r477", "r478", "r479" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r46", "r230" ], "calculation": { "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "verboseLabel": "Total" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment, Net" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r17", "r18", "r232", "r451" ], "calculation": { "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, plant and equipment - net", "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "verboseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r45", "r118", "r232", "r477", "r478" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r17", "r232" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r17", "r230" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property Plant And Equipment Type [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r85", "r222" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Provision for Doubtful Accounts", "negatedLabel": "Additions charged to bad debt expense", "verboseLabel": "Provision for allowance of doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfBankDebt": { "auth_ref": [ "r101" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to settle a bank borrowing during the year.", "label": "Repayments of Bank Debt", "negatedLabel": "Repayment of short-term bank borrowings" } } }, "localname": "RepaymentsOfBankDebt", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfLinesOfCredit": { "auth_ref": [ "r101", "r125" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "Repayments of Lines of Credit", "terseLabel": "Amount repaid" } } }, "localname": "RepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r323", "r490" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "negatedLabel": "Research and development expenses (including share-based compensation of US$2,564,606 and US$2,157,990 in the nine months ended September 30, 2019 and 2020, respectively)" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research And Development Expense [Member]", "terseLabel": "Research and development expenses" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "auth_ref": [ "r118", "r323" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.", "label": "Research and Development Expense, Policy [Policy Text Block]", "terseLabel": "Research and Development Expenses" } } }, "localname": "ResearchAndDevelopmentExpensePolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r117", "r424", "r447" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "Restricted Cash", "verboseLabel": "Restricted cash" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalents": { "auth_ref": [ "r15", "r111", "r117", "r424", "r447" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents", "verboseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r15", "r111", "r117" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents, Current", "verboseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsItemsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Restricted Cash and Cash Equivalents Items [Line Items]", "terseLabel": "Cash, Cash Equivalents and Restricted Cash" } } }, "localname": "RestrictedCashAndCashEquivalentsItemsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r10", "r19", "r111", "r117", "r475" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "verboseLabel": "Restricted cash - non-current portion" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashEquivalentsNoncurrent": { "auth_ref": [ "r10", "r19", "r117", "r475" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash Equivalents, Noncurrent", "terseLabel": "Long term restricted cash", "verboseLabel": "Cash held in these frozen bank accounts" } } }, "localname": "RestrictedCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units R S U [Member]", "terseLabel": "Restricted shares units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r33", "r242", "r313", "r449", "r468", "r470" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r128", "r129", "r130", "r132", "r138", "r140", "r220", "r310", "r311", "r312", "r343", "r344", "r465", "r467" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r170", "r204" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue From Contract With Customer [Member]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r119", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r268" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r201" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Schedule of revenues generated by geographic location of customers' headquarters" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionDeferredRevenue": { "auth_ref": [ "r118" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for recognizing unearned income or deferred revenue related to transactions involving the sale of a product or performance of services.", "label": "Revenue Recognition, Deferred Revenue [Policy Text Block]", "terseLabel": "Deferred Revenue" } } }, "localname": "RevenueRecognitionDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r79", "r121", "r180", "r181", "r186", "r191", "r192", "r198", "r199", "r204", "r219", "r380", "r439" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "positiveTerseLabel": "Revenues", "terseLabel": "Net revenues", "verboseLabel": "Net revenues" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDisaggregationOfRevenueDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "verboseLabel": "Segment Information" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale Of Stock Name Of Transaction [Domain]", "terseLabel": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SalesAndExciseTaxPayableCurrent": { "auth_ref": [ "r13", "r49" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Sales and Excise Tax Payable, Current", "terseLabel": "Value-added tax payable" } } }, "localname": "SalesAndExciseTaxPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "auth_ref": [ "r62" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "terseLabel": "Schedule of accounts receivable, net" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccountsReceivableNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses.", "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of accrued expenses and other current liabilities" } } }, "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareSharesOutstandingWereExcludedFromCalculationOfDilutedNetLossPerOrdinaryShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r153" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Schedule of instruments excluded from calculation of diluted net loss per share" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r342" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "verboseLabel": "Summary of current and deferred portion of income tax expenses" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of bank borrowings" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r337" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of Group's deferred tax assets" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r152" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computation of basic and diluted net loss per share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicByCommonClassTable": { "auth_ref": [ "r145", "r146", "r150", "r152", "r157" ], "lang": { "en-us": { "role": { "documentation": "The table contains disclosure pertaining to an entity's basic earnings per share.", "label": "Schedule of Earnings Per Share, Basic, by Common Class, Including Two Class Method [Table]" } } }, "localname": "ScheduleOfEarningsPerShareBasicByCommonClassTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r328" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliations of differences between PRC statutory income tax rate and the Group's effective income tax rate" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": { "auth_ref": [ "r198" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.", "label": "Revenue from External Customers by Products and Services [Table Text Block]", "terseLabel": "Schedule of revenue based on revenue streams" } } }, "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock": { "auth_ref": [ "r400" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.", "label": "Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]", "verboseLabel": "Schedule of future lease payments under operating leases" } } }, "localname": "ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureCommitmentsAndContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line.", "label": "Schedule of Product Information [Table]" } } }, "localname": "ScheduleOfProductInformationTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRevenueRecognitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r47", "r232" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTable": { "auth_ref": [ "r15", "r117", "r424", "r447" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about cash and cash equivalents restricted as to withdrawal or usage.", "label": "Restrictions on Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r79", "r203" ], "lang": { "en-us": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSegmentInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r277", "r308" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r283", "r294", "r297" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Compensation, Stock Options, Activity [Table Text Block]", "terseLabel": "Summary of aggregate option activity and information regarding options outstanding" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r299" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of assumptions used to estimate the fair value of options at the date of granted" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnvestedRestrictedStockUnitsRollForwardTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the change in restricted stock units (RSUs).", "label": "Schedule of Unvested Restricted Stock Units Roll Forward [Table Text Block]", "terseLabel": "Summary of the RSU activity" } } }, "localname": "ScheduleOfUnvestedRestrictedStockUnitsRollForwardTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfVariableInterestEntitiesTable": { "auth_ref": [ "r357", "r358", "r363", "r364", "r365", "r366", "r367", "r368", "r369" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of qualitative and quantitative information related to variable interests the entity holds, whether or not such variable interest entity (VIE) is included in the reporting entity's consolidated financial statements. Includes, but is not limited to, description of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a tabular comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.", "label": "Schedule of Variable Interest Entities [Table]" } } }, "localname": "ScheduleOfVariableInterestEntitiesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfVariableInterestEntitiesTextBlock": { "auth_ref": [ "r365", "r366", "r367", "r368", "r369" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.", "label": "Schedule of Variable Interest Entities [Table Text Block]", "terseLabel": "Schedule of consolidated financial statement balances and amounts of the Group's VIEs" } } }, "localname": "ScheduleOfVariableInterestEntitiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r168", "r170", "r171", "r172", "r377", "r379" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of concentration risk" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r176", "r178", "r179", "r184", "r185", "r190", "r194", "r195", "r196", "r197", "r198", "r203", "r204", "r205" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSegmentInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 4.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "negatedLabel": "Sales and marketing expenses (including share-based compensation of US$151,444 and US$168,727 in the nine months ended September 30, 2019 and 2020, respectively)", "verboseLabel": "Sales and marketing expenses" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r84" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling And Marketing Expense [Member]", "terseLabel": "Sales and marketing expenses" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationAndRisksDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_SeriesAPreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Outstanding nonredeemable series A preferred stock or outstanding series A preferred stock. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Series A Preferred Stock [Member]", "terseLabel": "Series A Preferred Shares" } } }, "localname": "SeriesAPreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r108" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation.", "terseLabel": "Share-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r278" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r288" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "terseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r293" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r291" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "verboseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue": { "auth_ref": [ "r291" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average intrinsic value of award granted under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Intrinsic Value, Amount Per Share", "terseLabel": "Exercise price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r291" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r290" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Unvested restricted shares outstanding at end of the year (in shares)", "periodStartLabel": "Unvested restricted shares outstanding at beginning of the year (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "verboseLabel": "Number of restricted shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r290" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Unvested restricted shares outstanding at end of the year (in dollars per share)", "periodStartLabel": "Unvested restricted shares outstanding at beginning of the year (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted average grant date fair value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "terseLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r302" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Dividend yield (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r301" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the maximum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum", "terseLabel": "Expected volatility, maximum (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the minimum percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum", "terseLabel": "Expected volatility, minimum (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r303" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Average risk-free rate of interest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The maximum risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum", "terseLabel": "Average risk-free rate of interest, maximum (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The minimum risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum", "terseLabel": "Average risk-free rate of interest, minimum (as a percent)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-Based Compensation" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r286" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable on end of the year (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r286" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable on end of the year (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r296" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Options exercised aggregate intrinsic value (in dollars)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r289" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period", "negatedLabel": "Expired (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r288" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Granted (in shares)", "verboseLabel": "Options granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r308" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Outstanding at end of the year (in dollars)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r285", "r308" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding at end of the year (in shares)", "periodStartLabel": "Outstanding at beginning of the year (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Number of options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r284" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Outstanding at end of the year (in dollars per share)", "periodStartLabel": "Outstanding at beginning of the year (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Weighted average exercise price" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r297" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Vested or expected to vest (in dollars)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Vested or expected to vest (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Vested or expected to vest (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost": { "auth_ref": [ "r306" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "An excess of the fair value of the modified award over the fair value of the award immediately before the modification.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Plan Modification, Incremental Compensation Cost", "terseLabel": "Incremental compensation cost" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanModificationIncrementalCompensationCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r275", "r280" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]", "terseLabel": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails", "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price", "terseLabel": "Expired (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r118", "r277", "r281" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]", "terseLabel": "Share-based Compensation" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r278" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r279" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Contractual term" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationShareOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r300", "r314" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "terseLabel": "Contractual term" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationAssumptionsToEstimateFairValueOfOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r308" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Exercisable on end of the year (in dollars)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r308" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Exercisable on end of the year (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of non-vested options forfeited.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested Options Forfeited, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of non-vested options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Option, Nonvested, Weighted Average Exercise Price", "periodEndLabel": "Outstanding at end of the year (in dollars per share)", "periodStartLabel": "Outstanding at beginning of the year (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted average grant date fair value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Outstanding at end of the year (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Vested or expected to vest (in years)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "auth_ref": [ "r282" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value", "verboseLabel": "Fair value of the vested options settled" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationRsuActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of options vested.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested, Weighted Average Grant Date Fair Value", "terseLabel": "Vested or expected to vest (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShortTermBorrowings": { "auth_ref": [ "r20", "r427", "r446" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.", "label": "Short-term Debt", "terseLabel": "Short-term bank borrowings" } } }, "localname": "ShortTermBorrowings", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShortTermDebtWeightedAverageInterestRateOverTime": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate of short-term debt outstanding calculated over time.", "label": "Short-term Debt, Weighted Average Interest Rate, over Time", "terseLabel": "Weighted average interest rate of short-term borrowings (as a percent)" } } }, "localname": "ShortTermDebtWeightedAverageInterestRateOverTime", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShortTermInvestments": { "auth_ref": [ "r22", "r431", "r432", "r444" ], "calculation": { "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.", "label": "Short-term Investments", "terseLabel": "Short-term investments" } } }, "localname": "ShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r127" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r27", "r28", "r29", "r120", "r121", "r145", "r146", "r147", "r150", "r152", "r160", "r161", "r162", "r219", "r240", "r380" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/DocumentDocumentAndEntityInformation", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r61", "r128", "r129", "r130", "r132", "r138", "r140", "r159", "r220", "r240", "r242", "r310", "r311", "r312", "r343", "r344", "r387", "r388", "r389", "r390", "r391", "r393", "r465", "r466", "r467" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://www.cootek.com/role/DisclosureTreasurySharesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r128", "r129", "r130", "r159", "r421" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureAccruedExpensesAndOtherCurrentLiabilitiesDetails", "http://www.cootek.com/role/DisclosureTreasurySharesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperationsParenthetical" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "auth_ref": [ "r60", "r240", "r241", "r242" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities.", "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "terseLabel": "Conversion of preferred shares into Class A ordinary shares upon IPO (in shares) (Note 13)" } } }, "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Number of shares issued during the period", "verboseLabel": "Issuance of ordinary shares for IPO, net of issuance costs (Note 12) (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of ordinary shares upon vesting of restricted shares (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r28", "r29", "r240", "r242", "r287" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Options exercised (in shares)", "verboseLabel": "Exercise of share options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShareBasedCompensationSummaryOfAggregateOptionActivityDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "auth_ref": [ "r61", "r240", "r242" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities.", "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "terseLabel": "Conversion of preferred shares into Class A ordinary shares upon IPO (Note 13)" } } }, "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.", "label": "Stock Issued During Period, Value, New Issues", "terseLabel": "Issuance of ordinary shares for IPO, net of issuance costs (Note 12)" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r240", "r242" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of ordinary shares upon vesting of restricted shares" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r61", "r240", "r242" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of share options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "verboseLabel": "Total cash consideration authorized to be repurchased" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.", "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased", "verboseLabel": "Number of shares authorized to be repurchased" } } }, "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "negatedTerseLabel": "Cancellation of treasury shares (in shares)", "verboseLabel": "Cancellation of treasury shares" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureTreasurySharesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "Stock Repurchased and Retired During Period, Value", "negatedTerseLabel": "Cancellation of treasury shares" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedDuringPeriodShares": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased During Period, Shares", "negatedTerseLabel": "Repurchase of ordinary shares (in shares)", "verboseLabel": "Number of shares repurchased" } } }, "localname": "StockRepurchasedDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureTreasurySharesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r28", "r29", "r240", "r242" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock Repurchased During Period, Value", "negatedTerseLabel": "Repurchase of ordinary shares", "terseLabel": "Repurchase of ordinary shares" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureTreasurySharesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r29", "r35", "r36", "r121", "r214", "r219", "r380" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total Shareholders' Equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Shareholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r394", "r408" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r394", "r408" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r394", "r408" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r394", "r408" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEventDetails", "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCashCashEquivalentsAndRestrictedCashDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Event" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r407", "r410" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSubsequentEvent" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SummaryOfValuationAllowanceTextBlock": { "auth_ref": [ "r336" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.", "label": "Summary of Valuation Allowance [Table Text Block]", "terseLabel": "Schedule of changes in valuation allowance" } } }, "localname": "SummaryOfValuationAllowanceTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of non-cash investing and financing activities:", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_Supplies": { "auth_ref": [ "r6", "r8", "r224", "r225" ], "calculation": { "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of consideration paid in advance for supplies that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid Supplies", "terseLabel": "Advance to suppliers" } } }, "localname": "Supplies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TemporaryEquityCarryingAmountAttributableToParent": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount, attributable to parent, of an entity's issued and outstanding stock which is not included within permanent equity. Temporary equity is a security with redemption features that are outside the control of the issuer, is not classified as an asset or liability in conformity with GAAP, and is not mandatorily redeemable. Includes any type of security that is redeemable at a fixed or determinable price or on a fixed or determinable date or dates, is redeemable at the option of the holder, or has conditions for redemption which are not solely within the control of the issuer. Includes stock with a put option held by an ESOP and stock redeemable by a holder only in the event of a change in control of the issuer.", "label": "Temporary Equity, Carrying Amount, Attributable to Parent", "terseLabel": "Convertible redeemable preferred shares (redemption value of US$209,694,647 and nil as of December 31, 2017 and December 31, 2018, respectively) (Note 13)" } } }, "localname": "TemporaryEquityCarryingAmountAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TemporaryEquityDividendsAdjustment": { "auth_ref": [], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Accretion of temporary equity during the period due to cash, stock, and in-kind dividends. This item is an adjustment to net income necessary to derive net income apportioned to common stockholders and is to be distinguished from Temporary Equity, Accretion of Dividends (Temporary Equity, Accretion of Dividends).", "label": "Temporary Equity, Dividends, Adjustment", "negatedLabel": "Deemed dividend from repurchase of preferred shareholders" } } }, "localname": "TemporaryEquityDividendsAdjustment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r208", "r209", "r210", "r211", "r213", "r216" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]", "terseLabel": "Accounts Receivable, net" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TreasuryStockCommonShares": { "auth_ref": [ "r243" ], "lang": { "en-us": { "role": { "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Shares", "terseLabel": "Treasury stock, shares" } } }, "localname": "TreasuryStockCommonShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockCommonValue": { "auth_ref": [ "r63", "r243", "r244" ], "calculation": { "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.", "label": "Treasury Stock, Common, Value", "negatedLabel": "Treasury shares (9,937,000 and 25,426,900 shares as of December 31, 2019 and September 30, 2020, respectively)" } } }, "localname": "TreasuryStockCommonValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r59", "r243" ], "lang": { "en-us": { "role": { "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Treasury Stock [Member]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfChangesInShareholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockSharesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Treasury Shares" } } }, "localname": "TreasuryStockSharesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_TreasuryStockTextBlock": { "auth_ref": [ "r245" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.", "label": "Treasury stock.", "terseLabel": "Treasury Shares" } } }, "localname": "TreasuryStockTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureTreasuryShares" ], "xbrltype": "textBlockItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r324", "r332" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "Unrecognized Tax Benefits", "terseLabel": "Unrecognized tax benefits" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r330" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "verboseLabel": "Unrecognized tax benefits, interest and penalties" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureIncomeTaxesExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r163", "r164", "r166", "r167", "r173", "r174", "r175" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValueAddedTaxReceivableCurrent": { "auth_ref": [ "r64" ], "calculation": { "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails": { "order": 4.0, "parentTag": "us-gaap_PrepaidExpenseAndOtherAssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.", "label": "Value Added Tax Receivable, Current", "terseLabel": "Value added tax recoverable" } } }, "localname": "ValueAddedTaxReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePrepaidExpensesAndOtherCurrentAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VariableInterestEntityLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Variable Interest Entity [Line Items]", "terseLabel": "Investment in variable interest entity" } } }, "localname": "VariableInterestEntityLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableInterestEntityPrimaryBeneficiaryMember": { "auth_ref": [ "r357", "r358", "r363", "r364", "r365" ], "lang": { "en-us": { "role": { "documentation": "Variable Interest Entities (VIE) in which the entity has a controlling financial interest (as defined) and of which it is therefore the primary beneficiary. A controlling financial interest is determined based on both: (a) the entity's power to direct activities of the VIE that most significantly impact the VIE's economic performance and (b) the entity's obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. VIEs of which the entity is the primary beneficiary are included in the consolidated financial statements of the entity.", "label": "Variable Interest Entity Primary Beneficiary [Member]", "terseLabel": "VIEs" } } }, "localname": "VariableInterestEntityPrimaryBeneficiaryMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConsolidatedFinancialStatementBalancesAndAmountsOfGroupSViesDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureShortTermBankBorrowingsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_VehiclesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment used primarily for road transportation.", "label": "Vehicles [Member]", "terseLabel": "Motor vehicles" } } }, "localname": "VehiclesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageBasicSharesOutstandingProForma": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The weighted average number of shares (units) outstanding in the calculation of pro forma basic earnings per share (earnings per unit), which is commonly presented in initial public offerings based on the terms of the offering.", "label": "Weighted Average Basic Shares Outstanding, Pro Forma", "terseLabel": "Basic (in shares)" } } }, "localname": "WeightedAverageBasicSharesOutstandingProForma", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r144", "r152" ], "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "verboseLabel": "Weighted average number of ordinary shares outstanding, Diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails", "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfShareOutstandingBasicAndDiluted": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Average number of shares or units issued and outstanding that are used in calculating basic and diluted earnings per share (EPS).", "label": "Weighted Average Number of Shares Outstanding, Basic and Diluted", "terseLabel": "Basic & Diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfShareOutstandingBasicAndDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": { "auth_ref": [ "r141", "r143" ], "lang": { "en-us": { "role": { "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic).", "label": "Weighted Average Number of Shares Issued, Basic", "terseLabel": "Weighted average number of ordinary shares outstanding, Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesIssuedBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "verboseLabel": "Shares (Denominator):" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/DisclosureNetLossPerShareComputationOfBasicAndDilutedNetLossPerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r141", "r152" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.cootek.com/role/StatementCondensedConsolidatedStatementsOfOperations" ], "xbrltype": "sharesItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 1.B.2)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=120391182&loc=d3e5934-122674" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3000-108585" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6904-107765" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4273-108586" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4304-108586" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4313-108586" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4332-108586" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6911-107765" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(k)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(e),(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(k)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r127": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6935-107765" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(19)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1377-109256" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2646-109256" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1278-109256" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2626-109256" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r158": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(11))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70229-108054" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r2": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r205": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e4975-111524" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5033-111524" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5093-111524" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r215": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/subtopic&trid=2196772" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "8A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=SL6284422-111562" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.CC)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742" }, "r235": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "http://asc.fasb.org/topic&trid=2155823" }, "r236": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r238": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21564-112644" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656" }, "r245": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/subtopic&trid=2208821" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130561-203045" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130563-203045" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130564-203045" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130566-203045" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(26)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r268": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r269": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "610", "URI": "http://asc.fasb.org/topic&trid=49130413" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "705", "URI": "http://asc.fasb.org/topic&trid=2122478" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r318": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6419918&loc=d3e35281-107843" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(a)", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "35", "Subparagraph": "(b)", "Topic": "720", "URI": "http://asc.fasb.org/extlink&oid=6420018&loc=d3e36677-107848" }, "r322": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "720", "URI": "http://asc.fasb.org/topic&trid=2122503" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=SL37586934-109318" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32705-109319" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32857-109319" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r355": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5728-111685" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=SL6759159-111685" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5747-111685" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=SL6228884-111685" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r372": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13279-108611" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=120253306&loc=d3e28228-110885" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=121605123&loc=d3e30226-110892" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30755-110894" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(5))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32262-110900" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r395": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "http://asc.fasb.org/topic&trid=2175825" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(Note 3)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121580752&loc=d3e38371-112697" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "840", "URI": "http://asc.fasb.org/extlink&oid=121573735&loc=d3e41502-112717" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918638-209977" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918666-209980" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=120604989&loc=d3e56071-112765" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 1.B.3)", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6784503&loc=d3e463720-122850" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "http://asc.fasb.org/topic&trid=2122774" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "350", "Subparagraph": "(a)", "Topic": "920", "URI": "http://asc.fasb.org/extlink&oid=120155617&loc=SL120155628-234783" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "350", "Subparagraph": "(b)", "Topic": "920", "URI": "http://asc.fasb.org/extlink&oid=120155617&loc=SL120155628-234783" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "350", "Subparagraph": "(a)", "Topic": "920", "URI": "http://asc.fasb.org/extlink&oid=120155617&loc=SL120155638-234783" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(3))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.11)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(4))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.12)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.12)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(15)(b)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(g))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(3)(b))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.6-06(3)(a)(3))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401414&loc=d3e604059-122996" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-14)", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611322-123010" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "740", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=SL120174063-112916" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r491": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r492": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r493": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r494": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r495": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r496": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r497": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r498": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r499": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r500": { "Name": "Securities Act", "Number": "Section", "Publisher": "SEC", "Section": "12" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.27(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)(7)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.8)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e640-108580" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "17B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6787-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.3)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6801-107765" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" } }, "version": "2.1" } ZIP 84 0001104659-20-135733-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001104659-20-135733-xbrl.zip M4$L#!!0 ( %N!CU%,ZB8US14 $X% 0 0 8W1K+3(P,C Q,C,Q+GAS M9.U=V7/;.-)__ZJ^_X'KEYVM&EL^=J"2$C"A@(T M(&A;\]=O-WB(DGA3.3##A\22T-U ]Z^)H]$ W_[S>>E:CU1Z3/!W1V.7O9.3\]/[5^NGSY^O+BI36\CRGOH9DS5DSZ[#F7GKV@ M2V(1I22;^HK>"KF\H3/BNPKTY+_[Q-6R0'V7HG9;!(EB1>2RI-Z*V/3= MT4*IU66G\_3T=&(+H>AG^+/4#3D#C8\L,##W+EW&/V_1/D^E>R+D'"A/+SI8 M/ 631.1<<.XOTQD<)3MJO:(=(#H&*BJ9'?,5,VTS2#K+;-:K#I1&A. +G:\<2#;EQ*>S"R^L#2%,00GYIL1;ZK;&:&6RH*^XJ7R MZ)(4)H>R]+9!07H=4K@9=>B2%"9.Y]@W9 +_IH..@:VJ<(0-RQJFD-GC#.M!KCQ MZ:EU;,7RX//UX.&F]S#NW>"G\>"N?].=P)>K[EWWX;IGC3_T>I/QV\ZNJ-U: M?&C4@/^L/Z\D]4"X-AT^M2%W2)+':1/7]MT:C)N69?.%OT90?3D$XU)O,!NL MJ-3ZE((R@S,?T_.RF(XG\.>^]S 96X-;:S#LC;J3/A"TZ-9%]UHLP1P+H&&/ M]$YXE4'>%Y"/]44]K*\']\-1[P/0]3_UK+O!N,6\/N;$6]RZXJDZUC%C/L8O M:V+<'7^P;N\&O[38[F![PSS;%9XOZ=A?+HE<#V9C-N30$ MU&Q&O22 MXS#X,J(&^,1#K=>ESO=)7("M.^E\%?C3\![0Q5A;N@;WZ+B/-]Z M@7,C\*=-N]#1@J998F8E&F=M6F=%S4-/3+30FD5-M+S86:=A(RW"'8L$S431 M:D$MW=B_>]:G?L^S?@@;_(_66[.\-83 &U&;LDD#51D.EDN;[Q,7^SX1 M2;,VXGZT.%4M:L6H#25=$>;TGEZG@>S] P0J[#F8_IB M']-0N!5)UT^HEF^%%5A!#2W(94 6,#U7:X"H][O/5MCW93^F3\?X->I_2_6D/>L)JII,2_&'!9: M2Z;T3!SP@FD,SFPHM[-1+L&1B^M9RKB:D*DAW9+:PI@)8[@_$?W%?A0,I]9] M/A-RJ14(X2M#F;_\.GV#RZ](0/*C[FVU-"LAK@6K=G1S2+ K6U %2PZW\/+VI&V#YT'][WQE;_ ;J'[JCW87!WTQN-_V[U M_OVQ/_FM=8IF8;<)AAEJ1LY"WCS8+Z ;N&@0_/HAJ*-]]C-A'L@YX>P/W628 M> TE@WGMBKA=6[''O 55><;\E=39_HP[*5I/X&+AUD9Z._,^6.B<> O\A]WP M(W'#Q=.(>DHR&_IO+&L6(J]005$H_+Q9*!QJ^E'_;R4:HWULTYR@O'6O [G7 MB#Y2[M,1M<4\:&8C9\H65^0Z30:28RNLUTI4W/K(H7P$Z,E\+C%A")HXF(7& M;N0H!3*+O.5%(V_9KAQY(O]I?>9P.[XV6$1&,Y 1\SXWWLK-EECD+Z^;[M%N MJM;CD<3*6V\YE+?<"DFA_#K,T$1H&_E*CKPB3_FID:>$%5M1S196W?I)"3]9 M"*DF5"ZO"/]\):043V#:S!XCGSH?XU\V?>$0)*EZXTV"W$$ M"/<(L>]WPMJM55 ]]@PL8%/DV:+1#F/K.34\I[0WE$5X;TF:BG"+52%6$TD) M_%WKV'#64YM.E+^K>[K_%$9BK$!."T^9 10LI4^,808T.+5NO/YUL-+[.YEC M:5G&?!A30H5:2'B,+2D\*K)$4$&+;UU\NY[G+P,C3D3/4VQ)%+TE3'XBKD]Q M=Z\Z]!5E%GG%?DPPVRL255M*6#2L7.>ZSJ %UB,V(\0+::Z830D M?.+#./ZZ6H]14EB1O^P' G-ZDUCWJNL?(\VMY0@I?$>C[ M\;QLT$?CC]%.4PMN"7 ?J,)S4$,JM5'1FKX*PZY@8&;CBHJYOJ+.#FD&ZLT% MYKM#RI$*D&.A( LDA7,'G?L758P]P!2K#E9H0>4Z>]=%KA5P>9JK]9>J_A), MP0>^PB/:>.?!+U32WK/M^@YU;J587F\T',SVOTW"0!._IFJD>*L*&M:Y8>I^@_=T'=7N/F#Z<%7\QD:.I06U M"'V!H]B-\DP+I.6G%U[42S?=/Z3=IIT>+O6L>LY9+LIGM9/-6A";[;[6VV,M M +/1N>@6T4HGF$L=72[ J\*9Y1:=)B>5ZQQ1+L"NR=GD%LR*)Y)+'D4N@*S: M&>06I(IY(R431@I JI0ITF+4^'1X[6/A!3@V/@_>8INY3$"3A6<(^3S(K<#5 M74I'F4>:C]]/*0L##54L+6?&F60$XY7;+6DA*[I$5;(X5@%%B5ZQ%HEF@O%G O%3@_+SA*>H? MHD_MUE:U&'KZ71EYI'DP7IQ>["CJ"%3CS 7VQ#VB%"T!; MA.M%V[- S2/.Q_%E&HXYMW^VR-4+P6=VMH!7#ORF(YM)EP_AFWT(TP];MD#5"D-F]:@Y MM+F 53ILTX)6,3:9CE8Z43Y,*9:OY_B].A;HE2DMCQBWB:7A"5*BP/\1?A3<:-[H;2M5I1 MM>W1@T-YQYBX>EEQ3^1GB@4%5\8<2&J1O[QJY"^Z>MWUQPW8+'!:USG8M99X M85OB=RDX?+2#TR@-K[@L([K(B=XTO.[2ICN%6ZUH':E1YEK6IE:@MWGJ^==C8VHV(*V1.'Y"VLQOO1(JZ[T?QM M9_?EV^$OVR_IUJ_H!B,(J2Q.EM1;$7O3N-R7F'OZY>YWPM;2 AXOBPD_'&^X M3Z#:J*WY3=@RLJ-D!X'K<']));/3&U'$=8RO23\^.S\^>]6X'8(?UVR+X ^' M:D[*:]_+M,652<;S/P:;E MS*)9\-MQQ(>&N4##5&E&4MY+_S! C\B] MM"X,FGO6^?7^;JSKJ]!H3ZKJ#8Z8@L;"MR_7T*U.34_+Y;IZ;YADC+Y\K3:' M5Q;7:'22,_[6N-G4#0[[XR0C+(^VD2_@CDB94 "BNK/,#PSX4RTH*"?4%%1 M^$IG4$M2AZGFIOF%LOD".NCN(ZPCYOL7Z,#J\%;(91>:C;&JR$#5V7+,A"_H M@%5162.14&@D:M]HCB_#--6FYH%%%1Z H# _F_F)-J8[Q MLJENPA!LFZ%]>7*#3$ DQW2::,,R[!)(E@E*DYMC BQV?)<.9E&>&(*JDKEG M'STZ\V'1.0LV=/?,TDR$0:;"%P@N"+M>@++7.O26W(&C]H(+5\S7U^+D3CDG M]W0YI3(V4DWF//,X8DD8_RX')P]2% W1-%$U_;E:\J99#*NZ)S*[V6,J&>+I$%@?H$[ M8+!H@4^_42(;6[I(>KJ/@X.O N+OPK9#+;4[4U1BCC7CX1VIP00OF13?^7ZV'1"J&%ZWQ>+7XI83G^&UDF>_"N+5=*]0[<87^1^Y0 MZ:[!U<(U-X\?Y'O&V=)?-O;GFI7FN;EF^RM!09Z_ 11QI7\-*'9B4".*TP4P M3)17Y1,7^Y3=T-77K];,T%=3.\4O<^AC3(-[S-8N?&@XBJLQT_S7.H2/4S6, M#4Y@A?O1(YA+O(!!V. M<=T0+T?])(V9'<=0HDO#+XRXL8*CQ)(RC\",M4J6 L$ZHU#/F,R4]4.ID^B[ MG5U5)G-ZM8S]L\3&6:3DSERC#J.9G4 TK+T7,$OE6(0WNC!GHV)DDU*49N]Q MCZD,#GD\8MX;Z#&B#@4&^!3T$5!/L)K:V5:HSF?J)$MK>E771-48S;;1T/5K MNU)U9K-M=6;7-50U3J.M=%V[8_KK>-)-71M58S3;1F>UC52-TU0K*:)\#S<: MR',PWUMWGUF\%LPN/LA*V&%+?(%1L*#XYHK?:)AR5(\)# 7[ YLO8'K_0)\V MV1\]KJA<2>;M/@5EB0VUQ7[X=!-<#8*H>]DT9>D-M4C/I;:2@C,[3J("_,=B MIIY ]6UKE*0UU!(C:HMY<(XKB(I +S"B;#GUI:H4^QG+6M'-W9/>#5T)CZG8!M'[B;(RGDOS?Z-TYX-%&NIN9F%BU+UP]-EM M_9R@";&4N$E)U\)3X9/X!W7V.^RO5*O92>E?PUR_43415_3;8)56N=F0Q7MQ M,.K<"'^J9KX;W8F[T[:2U.P[ONDCKO1,\K';C-)4)DW3 HY3>H10S MIO;3EK*H#'>FK62=4,<]W;?+C,A;VFO[Y$EDZA64&:'7_N0N;:^ID,K0:%G9 MQ=(#5= K_<+48B%?W@&)HR"U+!K"Q^/$9VS M96'?6(GW+V$Q+('N,C4IM)$$(WJI\AH"04,;I4@PPD:Z1YX61R>G&8^K5J-.A<5'.3H*9?&X:R=9H!A%[\WX?=?[!%M1/^RZ7X M-O&K@VV2A&];ZL,JS M>.Y!Q+;(;!YA=@A#=WX!8 M]Z ?=_#F6EAJ8W_&_4UDLARI$1/^+%4F0A%W.ZNG'.D7U/J+0ZTU2;G!L0*] M">H'6'V@KM/GG_#4.'?7$S&F2KET,'797/N6-YA]2MZ(6I')Z,EORF646\>F M<\I-/S:=HMK>L>D"&C-/3'YB$J_NT$J @G?LD8Z%S8C[B3E4X*:PSYG:N72O M*I/APWW7T:=$/, P$1K8&_RSR0RY:"P0ROAM3?&%J4]BW[8JG^&KQ/#^QIO46QUO3'_X0SUZJ=KU_B3: MW:9J=VNZ=G%H#L=GF+QJA]]=N>>1&*KWG>#S?+5S*0S5>BCI(X%NEL\Q>_R. MZIOX-DS)[OH:=>[$0L&LHPU'+1F!6=2[F58AF- M7;LQ_Y*T9F>O#GUI+\ !-M>.)V\!\LD4N\/ M(,?TR8&6HR2XW]&%*=JF@SZN=CC>KU%!M-W?*X=;'%9W! MXCC>^P_?]IUS$5TY)G/VD%*.RQ:>IS7=!49T%79S^I#6EKH9989JVG7^ZX<[ MO!/1=1R]ZB7ND#"G#UWYBBGB1DN[6R&Q*ZVMVIU0'DF#/;JJMLZJ3T4,+, M,=\GRAV8-,"JD^*:'H7B9M;.'D\!D:'/VSWYKY"!;E[R'JR4WTV_ "NITO;- M5ZDEA@(:[;Z]IYQ*F")+9@,T]\*A[MX.70:-(=MS.,O'Z^WA#ZXA'XFK9ZQ2 M_$%C9 MHC$Y/2->MZRN!N78V<=W@'HOP9GL1:(UQVRAK,]]*%249;4L]L@V@ M0H*O;PIB,!B3RR&L-G4*)OY=]G$]BPC3G;>?9)-$B"("40H+:IS@V#HCO? <'!P>WC[^\S1WC!1(/8??3 M4?OX],B KH5MY#Y].@J\%O LA(Y^^?FO?_GXMU;K]^N'6\/&5C"'KF]8! (? MVL8K\I^-*5XL@&O<04*0XQC7!-E/T#"NCL^/+\[-JV/SPNRTC58KKND:>%02 MNT98I7G<7OWE)JX5NQ^,MGG2/CLQ3\U3X_+#V<6'SIEQ?[4>;.4/BH@YR MOS_2[QD4J^M].GKV_<6'DY/7U]?CMT?B'&/R1 5/.R=)P:.HY(^NKHZ"?]*BWKH@Q?*WV(+^*'VA>TR MN"78_UI)L1;[5:MMMCKMXS?//J(Z,(R/!#OP S3\.SPV> M+PA\IF70"[S%WLYA97S@!Z(#WO/0P:^[1[6NN"R:/O(L!WL!@9-@/@=D.9Y- MT)-+G98%7+]G63AP?>II[VD[+ 2]S28-D4N[ 0+.JFUQQ_!ZKMV;,TG:V,\$ M!XO)-RK;ASY CJ0V*FG8[K09-]![@!9$+^#1@5^A7U !^77MKLWW!"X L@=O M"V9]3%=C_QF2FX 0JL*>YU%O5Q""4M6[1(2I7_.7]'N#_P9HP4RA. ^BVG9J M/22 /'7=(O"('.07[U+J]>\.&W7)<^2'GHQ^EW9;UHMI0%<# M/OMI,KX=]7M3^I_KWFWOZ\W F'P9#*:3*%"B0!QLI3[DL! -DS0+,:(P#IL! M[S$,QFC$_ 3 (HQ#3Z#C>\EO0L):I^TX)OLI_O4?4>],:G; (W3"N#OUQY,* M&M8/X)#@>6\VH]9*%?D5NU9DP9S&\@7^..]<=#OGY^;YF7G5/CL[[W8V,&U8 M38^DX0%B)1^C/VX94CH$CDN<>&Q$8[6U$*4_D9_1IFTK-OX8+HP"$QL2.F\Z M,@*/-@XOV(>!\%.*'']6\ (4OJ<;\!)X <[J1DZ\II'G/;;!>'JM93 M*[*"!^CY!%ETV"MC#XJUI-5UWJ51A8:6L0O06GB*S F+P+GGB#2#?66$,=6= M6E,]><;$GT(R'[DOU+S#()Q#<5;19E KC2RFM"M'J5EI6/T '3:YN0>$303S M>V^>2#,H5D884WU6Z]Z;3LLD:0"98%Q"LAG$%P4:\W]>:_[3$4U(E V>:KC:%U"I=E M4]$\*9W8+ (E9O:BUFYV(](3\IE9-@W]@D(_JRV+\@!B[BYKS=W&&B8=]B<^ MMKX_8X&_FY; F 6G3450+W&A."7Y'[ M)$QBKTLVB%=9=&JK4!61.I@O'+R$, Y,I9VQ4*Y!A!?#NN>LU];F,?J+/Z2W MK+UC54FV /OI#>[,)-H%8!F19K33E[L7E; _D2 MM298.I6A"E"+[CN%\P4F@"PCW,G&M>AP3<_W"7H,?#8WG.)[D-.SE>MIADWL M!K86'D$Z][I=L!E<2^+2(NRF,XM@'H1SQ6A*L7F^!Z>LOP*_?%L"M[X M^3&56NIG!I*49B;.2B/7(J,V)1!X 5F&FF(C(';S]H/SBJ<5<-4UKTYUI5X) MHC &:-6!Y)YMHZAA]P#9(_<&+)#/6IG=Z[-+-XAB%81:C-V1F8;ZR#W=\ZY8 M@RB5@J;%T/W CL*ZT!X XK+$_L90U(>M,1+5#%P64:1:U#JMX+ M0$XTH]KHT[&)7 ,/61SS5ZZEBLZ];B';BA7E& )JOVNBK^$,DSC$I)$E] 9O M/@'4;I%+IZ$CRFN85J22U)9H^YY&K@\)]'A>88]?K)\[*6A)FX[E1^M+BUE" M#)Y!2;3#2_!OEZR?F?QHCC-6"B35I(5U?":T^?<$S[BAR4:)%$SSE([O55N# M+!?;+(I@:<'>#?;\\2Q>D>1.'#;*U(]!$0]9TP41("%WM9C9QPAXWCCY95=T>8P+(U.C_[\ #U(U<:N?.G3 MT<;!X1'4_-Z<*],*&+7(JF=Y MJA@4_RAVOE!S""^ 4YA(KX5#3[(R:4C8Q0E6/O>B8__D$V=&VO9_\GB/J0W(;>#,'Z MV=0.EO<*PM9C_KKJ2_&P>PU=R%^4X91N).TJ6!6'EXH.NJ?]ZR1X])"- &&G MCO(W]8H%&VP!RK#5!H%NU1N&,M[1D=HWU"FV;^AF?'?_,/A"RXV^#8S;\:22 M_4,9F[,%?2!7HHK>G#)PF0U.]>NC$BQL]D&\L;(,K5V?QG/TRS:[8K]Q.[8+[!8P^\)9@E%^WKYJ\=NO5XMJO9HS/F2=S.H? 4- MZY"%K>S=;+*,]K08O:/=LCD)@G6!^IE(28*V&1> U>*-MCZD4U8+A;JC/SLP MGI?VYICXZ'_A[SE@!445H,6[[.%>O)HPX:8]''PZ,\")[G2E>\#N"(' M8 _*\#5YO T0> W"1,^8;LP@? O0)P+5Z/278IC-T)C93&L]0;.:L' MU-1 MXK?RDMMH,]_,DS89FF MEO+N70KEX2F6.TCKD-%!;!=7M8YOMZ'Q7SF0MA!^%0=I+(KJ2+)FIWLRG,P7 M(S)-O/ ;$B5J:["%[$,SB;'4.\?*&5YCZ$5<#$>^P=:S&UTD]K*O571)YQ(V M>3VQ\_IP@3WD>[G3GS)5-=@P=JZ6Q$9D-]^?U\6IL -.!%C^;\A_O@D\'\_7 M+X'P+E)7K*7!=K1+C20F5._DKG#65WADRJPBK:ENU^Q<--]V%-61&$Z]GUSB MZ"TZ,UMBHTE&!?4SFMIN-)'5GA[+SF 9[A^?XIY%U4=@:LV$JEBT^"1?0?U, MK"3!&4O2Y92A> ]A74QF?0W$YE$[MC-C-J-.F/8Q[@Z& E4=HAD558OB4>:* MCK=F]1H[8$J#N>L*0KE#-!4I'>AQJP:%8D%H1X=XDP5]*<,0"AZ"9113@A8W M8;S'=@?\@#4H?,O/<6!XZ&\\"Y_.IIYS+KZ^IT2-!VA+9;6CQ8.WFZ W4;+G M01G(6PQ#:A0Q)OH9# M,)^2VE#HHE(ZT&X M :<6-L)1V!"YP+5*Y)(S*JB?M=0VERRK/2V.KFP&<]? _=Z'C]RL<4;1^IE- M2=+RP]U=U<^P$6,?3P3.(JLH@VV"V78BIGYA+%I5DB!V RO"%>=M:]/Q4(I$!&X?M] 9OD%C(6U]3EI>> MS9([!),HI ,]4JWKH9!ZOH#0B-J#XUET;[/ 063*'((Y*.,O>H1QMS<:]I%G M.=@+Z R;J8TLJ8M#3RZ:(8OMD8A.O%"%W&,'650=F_<=QMH"SNK:PFO@,+_H M1?= !*''_$QPL)A\0VPWJ@^0(W/78\8-=' ,V.CD<:ZE4;2 M3'9_XD9+C5G25,-;7;'X&#?6 *YM@*BYK&K_&1IAH__N&=]& \_X1]SP?U9Q MQV+NTFKRQP.X]?"B:W;;%7N--!!HW5:+*J55\+Y#%:3?:O,2'X%;E/PK3&NJ1V[,EBT"(EQ;]I*;\G M"N6TH[48HCVGKS)W-Y6Y9ZK@W4DUYJ\\*BTR5LE]G _P!;J!8)S,+JP-I05@ M%,Q'[6L].#-KJK:$V]E>PDUJ-=;5_LMPH5_Q(NO.D^/GE^:%>7%NMKMM^N/I M65V2_I\)]@3C8KY0_7J@,A,R*P1"R%I$M3W'P:]LDT/&HPQKK )S4*FCF=91 M6@-%-P+OR[>GETS>!QM1]D#-U7>W77W\$2/Y2KC/)OR.$7_(B+Y4K>_?ZSI: MA0FOC6L A8,97R!MSE==L].IN$,K\+65%Y.'J.;>*[JJ91(L%@X_,9;\N3$< MY@)2RU4H,Y8YC0V;?8=I_ K(,L]EY!?6GJ "\-2R#A5UL'"S5L^F ]X4O,D& M3/E"VG-= F;!+,7^HJ!H$?/=^J5:X'.6%?A$]88!SZKF&DQS=[]@O0Z?NY>G M[8OJCKIF-S*=#UF.::UG!/ ASWC+/4JI>JKFKZAMI M4WM53MWFS=))>K4QY"(S3\J^E#=YWOA'%=_%9!SDQ<1JP!/):"6L6N@&2Q]#-^@<1E44%\ MP3*O-\H)-83*@D"UV!H0JD#:^7)*-X#G(@CW?(XE.T:D[H,=OH[="B;+, .T M8 MB:/X8$"\\8\WOM6H5-(#9'8$N>)QE7Q.B&SR?H^@<1WC[<'@*'[J6ZA2H MG;%59*/N4: M)W#02I74IW<7Y#?ENLTQIL*]X-T83UW.@)I.'?H>[W3^>L#8^TL;\_']02P,$% @ M6X&/4;&U9^GM00 SY0$ !0 !C=&LM,C R,#$R,S%?9&5F+GAM;.U]6W/; M2++F^T;L?^!Z'\YLQ+$M4;+=[I@^)ZB;6S.RR)5D]^E]<4! D<0Q"' *@"SV MK]\J7$@ K"MNE9#Y,-,R49?,_+*JLK*RLO[^G\\K;_2$<.@&_F^OCM\OWZO\[N;D9.8,FWYH\\(8]?S1F?8=19H-/KXYOV;#^_'']^,/XQ/CD>O7VW;W_\^/'F^1%[;P*\($T.W__7YYMY>HI7UNM!!Z/X:)C_>!+85)1!+61YQ2]!_O MOSXY?O,<.J^(H$>CO^/ 0W=H/DK(_C7:K-%OKT)WM?8H-^0R2-'/)' M&'BN0\?RF>51A;Q?(D0%KL*@5H,@^9Q9F)1;HLBU+:]UIBNM0Y' ]FLXG4_7 MV3AK!7)>R[ Y;UT)E+J!*)/SI>4O4'CMWR\)L%,=* MW;9-<#_%"\MW_THTE:Q3,^SZMKNVO(D=N4]N1*B[0)'E>MJL:S0,%_6B$E^Y M/IGA7$OG+#D@I.A0[E9J@.[@R(N6MQ0*C13)5 M3><9$YT*2M8G7&F1B<8R)^6=O*-F= MRDG4GPDIS7! 3.!H0W>_9!9=TX7I%D4U92!KS8@>+ ,D2."4;&9SJ6'3C6H^NU\1(U&_?A!2N?4(Z M>K">49A1FA%(Z+U 9(E-?IVN$]=%[:E,N6$X?$_",%ZEU#T$EV'D MKLANZLIR\5?+BQ%UZ+0O$MT^X4AK:Y-,,CLV0S;;WF_:U1S5SN#(YRZ,.Q$% MJUT37!/;ZR8(PQG""9V4Q#C*=C.$:->FRY3KQ62O7"E:4QPM= A 3NFL/XTC M>@I(SW'_0!A=/MM>["#G"@>K<\NS8R_C:X^?*29UK&SQ:$>0G5!D9!RB!=T4 M%,[8Z@X\?D-F=IN/(?I73"BZ?**'BG7WD.Q6M#E*B+:PG7.6_5FD9-N"ZT=O M'7?U-BOSUO(\YDESM=O\U)X>8[]+Q%&H619B"U21O^GQ<^"_=H*5Y?HU2>0U MTSZ]2?.O5VCUB'!=8EEMM$[IDC2([?@1O=X*IR:]@I:ZU CO*'BGV2M&Z6MCNI%920<4DT+[!(M'@WF"1CC,LQU M+D3VFT7P]-9!;AI-0_ZHQM"0G[[EM!;H2TX*\Z8]ZQ%YO[T2%WW;/9TWQ"+W M4EE.GMV00=Y>B2U5.PV9X#)]9#3F+64#L^9\$V 'X=]>'>>MS8E-(Y-:1DC M(3\."3%!L@6A)_H]R#CM_:*TL!0$7/[GX]/C/B2ZFP! "9?_6-R%H>N3P@[#_S( MLB/F"B H9]+^%*I4+G<.W?T+FC%'WA#*KLFNA37QBXMW)/;D5$S+O[G'0BYW M_I)0$7UZRO&K3?!!S]&EEVSB?GL5IH>FN^]>$"+GMU<1COOQ0N<,4-42X)-^ M-KD%J(M,2OD:NP$F\U@"N+E1<8<6;IC%9&^W\@*Q<\J;W W4Q8'#"A!@)KX? M6]X=V;AC$1[E8B:W!75A*', 1/HS1.AP+GWG@NB%0/R5+# M,![IMN?*]=!MS-DK[!?I5?:_-)/]/O4@)/Y@/5\[A(7DOA;M72)^;OE>L?C8 M!A9<5D D]MO?G1KK5B+-+M8OSOGHS9PJ+( 0OST3@\F,^/.?CZG%QGQYCQP M^&A(:O4+3L.MMA)'(+#*O#79?RA#QUR$F&7[Q:7A1EO !U TQAIHC/M&H^%V M6\ '4#1.-- XZ1N-AKMN 1^0T$CFT2F>X>#)39/L"0'9*]XO)@UWXF)6(,%R M3OZY7$#"81:$D>7]/W<--\#[YAD7^@"V:L>%^LWH,/(:\*]_[%7;#W6V%=L.2O@U*]%QY MUH(A;V:I?J7>YHSDF.[M8O])ON&UELP!BPUJXBK*7,8:[ M?157ZA>:5C:S8H9 /4'\KQ_^L$/_QY99*>!G.LPC 7GSMSR_<+3RL$SEQ<0 MR'P-/+(3L7 2JX#YMT?VRO4;)=G*T?,>#R 0R#)HII$Y=)&+K"CF \$KWB\> MK9PV\U@! 9P @.3YUVP M;1K]S >$4;1?-%HY6V:Q 22\>)?__I[:WQ9F@2$JW"\<+45[LQ@!,3:*@<_< M45$NU"\ K1PHEQD (?AS1)_&\*Y]!SW_$_%EOU>N7_&WL_NN\F#Z+"7D"";X56B[5K_!;V217. A^UG\Z+GVE1=8?,== MJ4R_W%Y>W] MY07]ZWYZ2#_.)O<3&[/+T?WOU]>/MR_ZC!#=HL)95F)LGF%#IEO&^;2 M%DO_D/.VT7SV,^:\'4R"R5H95@\))ML*&FA)^NTEF&QQ8=BS17@K0J%@_VG& MY&0SIW^CJ<6:@S0)0V)H31[IY7J[:N_R"D$8&FHP52EO=X/1EOCSYU!54-@K M"V&58&O1/A![Q$/#X]P*EQ/?H?^A;S,_61XA-YQ$YQ;&&]=?)(]9\A81M;IP M\.*H76EI4>,)&HQWB+#DVF0_V010[58@S(O*T&IS!PWD[2OCU_X3X86N!5P+ M@UD40@)W9;C8+$##)#O5#^^0C8@B$=/H%D7L*#BU*A#2O"MC)&8%&E87,:*/ MHMXACSK>9A:FK].+L1)7,9G[41LK,2O0L)IAM+9<)WLZGDS6TVB)<(E9#F1* M-4VFB]1&3HDC: "J0&42E ]-IS[8XB\;.P4KYS;P;2$H2C7A&'[J%A^'%6C( MS7"P1CC:S#PK?3^5D+VFU@]96KE3GJ@*'*M//,F)>( &TA45)+IQGY!S[4>6 MOZ /\*9,\F&258)C^HF DG$!#:J;P%^H;9J8)>'8>")0F*1#0X)I@4K7(VDM M.+:1TJ&)E2C#AEX1AT(F0XQ$/#(Z50:$F;3?ZMZQN')^(;UWIT/9>. M3&*!)(>0R\ CO(;4&HDVDO,*]>H03#*U\R1UG@"#J7;<)*H X0Q#5SLY,((_ MDLJ=BC-K0SV*:L[4:F%@@&GX4JN<0(-GZY<_"S .?KC^0GH(42P)P7.@!PR3 M#6BH7*[67K!!*+,O]SGD8*10#\)BI8>8 E/MX<=^?-RV<8QREVV8^VRS[@L$ M56#1K O!8Z &C29CT(;7!9HC0J5SAYZ0'TO6)%YA"*X$O8'$XP0:/,K3G?'Y MC>,_T(.EVPFM1?=!@5 U'P*G C"C0=O\%O$&#;C8 &Q@-&5ACC34)C2JX(%'YQ M"-:^YAS(Y04:2!/'<=/^9Y;K7/OGUMJ-K&H">FEI"/:]'D1<5J A=(AG\ M"=''8U?H)@AIN-1T_F ]\X^V]%J!L&/0')2Z+$)#>I]=98L1AN7?U#:$!XG, M]JT9O $CMJ8EYPF'0[!Y<=*-XQ)%KKVS5:1)1?50+)3]^*<"99F*CF[>?)$1<=0HH<,0?MSXFUI<_,C",K;#@[CHHF MB4#H+CE.GS!\>W_RX?3D_?OQ^W?CC^_?G8[I&UW=(X/F5NQ%W4+#9 V (?'5 MPBX=Z'.&_&3W0?X4)MK1;<2D8TI-78LFA2YW % ==O8V M66Z80_:V0_:V0_:V0_:V0_:V^@O#S2%[&]SL;9X7_*!^@:L 7P3Q8S2/O?TD M))(K WIM0!A8BKG?]!B#YKB;X2S:-)D_[I"#5@D]:20!!TQ9)1@'52KHR3B! M!E?A0'IFX2E.N'228\\9PLD3J_+C>'Y-&"=5*L IL0,8O?0UW$D<+0F%?Z'J M8UQ*-6 )221W&5$3=YN"8%#B=[!X?JX3F,@T-5YUKO"F'7MOP+M Y"E]39I-,J MTUNG4@&^SU2%"\.O6-V@A>6E1T^,>8=98@A'-TS"3;T1QIQ$]C\;GCH$VE!^ M#@S0F[S<+S%.YJA;=G.@S":SC/ZN)OI4IGAN'DKA$.3 M_2<%X:4MD0Y-ZMOGU%]O<*.+[AX+RP_'$"IB AL\GY!-: MO8GO3)P5D2JE,W*?4$8Y;Z3(:D&P_J6J5QI$,HZ@ 7>'0D3$0E][N2!3KA?3^N.]\MO!W5."29Q<+*D"P"[3 $C$##:GD MRM:6N_2Z5D8L/PFZK!($BT(+,1E#0T!- RL8%D9CA #B4F5)U?:#<;ZKA\@^ M#V#AV%U#E0%2+ D!$DTSO$@^-#3R"P;EZ37P@YQX_H*C5G4XQ^]J_( #<+6V M7$R9F\[E+W%P2P_G")[+ C1DK@*,W(6?AH7:FP=L^2&9M@E%GXA,Z'1PAN:D M##]1@58+O2+XL0F"6FQ!0W4WF=-71]+L:S&9''9A%BGQ:3G" @HOG\EZ303G M^A;>)%*AF0])32)@+UD?THF'.\]VV&._GI*C9O-SAW* J6:$B6P=2N_\B56$ M4;I?>!N=:'%Y@ 9-)2_?A?OD.LAWPHGSWW&Z&/$BX!0J]@M8HW,N%7:@84=, MN-TT,GFR7"]-H%@(O(\GU5^12 AD[IH M72^.D",Y %*NW2^DC4[HE'D:!)0ZP,$X"=+42"ET\('*.%.$:EL:P@E0BV!M M^8(.5X7'Q*U[X88T.BC&TC/SVJWU.S8;':G7YA$:]'^0G?>2ZO$3V30MT&U, MA32=[]TW$4VUFFT,8 J6:7Q1%32Y'X@"9()0O7*EWDZ93!)B M&U>[%9/3;TO :_,,/P="G83G8]6$Y[R$"(?4YQV>D>^6+=H3'67\% G"&D-* MDB!D!,"?G%F)?[ %5WEDM51G.M M3($DUO] MT0(5C@SG&$S3QMV0;0!U)&_S(";/*JRC.TIK!3+E6A ,;#%6RJQ =:R?+RU_ M@<+K- LR\SE8B7/]M%ZVX?/?)[>?+N]'U[>C^]\G=Y>_3V\N+N_N_VUT^7^_ M7#_\>?"PMTMH"BF=/P*?(J]BEK/K#,G++F$%@&%2(4QHH7/*0C/21:I6BM!B ML_,20"D[ED]/Q^\^P/&@MP,4DT4 V!6NN2ELLTKE(.RRA*K'>6L"T#ZK]+R" M4/[,DA",4)T9#4@6"(*^,BX04 0G )X]'!ZO-AM'@%T43LIOR$I"" 0U(%C" M:G@(V8 S.%(#OZ1'+'SZ"X77:#TO]>E!$*I+7D7>-Y5@']8F'?U0KL5"+.> M;3NLP8-IV$_J\N//6V*W;#>W"TE9^/ M5BD#P>)H :<*5QU? 4[(2U_(OH@QO2Q'K*$@?7K^//"?"-6DL^F\H#T/0>KF MH,95!9E66H3@KVN 8RLR,(-Z.B^T"KM&DZ;O#[+'SW7GL[)9FE_16VQ70@^X(;30$N2&((> MY&_#=Z,->>NFIXA6ATRK6I)+")H=EXR7.[2.L;VD@9E[,ZMH$R6N!^%]E+;V M5&).AP0JVFEH&O0H+9"S!\?. MOD4_DB_""41>%\(;/VTM#7)N!P)P.@?61'BO,IAE0E63%8#=8W(@R#*VR/3O MR'WTT#VR2DH+X0O2HL2,27?I@EYX>4SPK8;@!L*&H,\60OZ5IXIB8:YVZ MB)L ,^+U%%T?<*A'IKQ+9,E[T-P'Q0F/R;^\-,OK=I.66#G\A]>[Z@S$HZ$M MS!U=R:??-#>[9YWNX]7*PIOI_)Y0[LY=V_*CB6T',7UC?#$+/-=V49@$X^^L M;%%>FQ.BQ">CUZ-=%S3)3=K+*)B/"OV,=AV-\IY&?TO[ IXI_CSP;8)?FEK_ MS@V_B_+9\ J;B8:NT'*V.2/*NB3PB&Y]RJO!R6XCQJ8< BWC"L#TOT]D3J+X M9JBT&I![HJH:*0:NRMS+!:Z4/^:7H].3HV,X*7*Z )/),$A\-P^D3[U9=%<# MSNWY1A/HCB&($%'J]$9?L0;<&;.J>$*0BBR]-)"&-CO6!&XP<^*-Y(ZRJ(*Y MN\IR-L0X#?ON\KV]1$[LH>G\JX5=RLLU(1FC,$HRMM+](&'@C%#PG>=ATFD! MPGU*/<"UV.OZZM:6EAD.R%(?;68>W$)^C*Z(J"Z?B:82.L_C, I6 M"(=G&\*_$]M12%C/(C$T!GCK_4&X[EEW.FA=&-#T3,S+)Q0LL+5>NO:$^E>% MLTTK+4*X$ZBG*XW8A:8-A/7D!=4_W&B9(59)"VJU!.'" ME[:EJ,\F--3SZ2Y,8DAWW$_GZ9:&_O\583+ JJN(5DL0+OO46Q^TV#1U(#3% M"\MW_[*R8ZL9=GW;75O>Q([4[HVTG MHUTOH[]E_0 _";KVGU 6_GKM)T_[/5D^7<2#R7Q.QK,59<=GG#&@4;^'-TEN MT,+R4BN&X<=DEH!S\*,-1?X0R1Y/IAZ#87J]]C\;]D,*%*7\M$LK3D;FKO>! M?$,IW@%FIX'F%S,9T<+#.M^5LBGNV 0(<528\,B_JAI*?OHV_>$3&W7IKAD3 M ^,[G..,6M,"@R/38-(<\O[R!98,;:%QCV5#@$ )>.YINK17Y MLQ"J*#QX5:D(Y)!MFXE1>%\>GX%-"Y>X=VF M&N2:Y+(*$.8G\6L/*ER L[-?Q*.TW-RJ;[>'-4Z/VKL*( MOY'$CVJV82ZDM!:SY0=3E.?'_@-/F5;%;4Q5C28HSHXS&(8$HPR$>-#::'%X M@F9)?';]A)X\;G7KJ9R199MP;2W0V>8V\*G.$.F1_A=I$A*C1QH.S M ?_05./E9>MLL$T6@C[4K)TS'-@(.2$-0J0T4JY5'G.H41]"@&9CG#7XA7V- M_SSP0_*G0Y\FOG)]P@=A86O.GUE>(ACOC1R M +P>%2D=S7-21V%.Z^@Q(S:)'[-2G)E] _H=N(Z< (N1X6UU]=[L"B*G-F2&N9QKZ( HQ7.E_J%?TR?(2CW1T M;F&\(<:E* FB8ET('E^VRI55+Q ,TD*ZH(-&-^X2<:S^R_ 5]&2QED@^3K!*(1Z[D M2,G8@(95P0Z2+D.BI(CPZ$>&B IA4(7() W=!0V2AFYT&2<)\BAYSQB MGRNS) 070@W'*Y,7:-#D>^N9M:'LJ3D3JH4A^%<%.L;R)519@(;+UB%U%F < M_'#]A=3M5BP)P3NJB B3?FAP7*[67K!!Z YY].2SP)IXQ"C4@S"[*4*EP$W' M.5/)\,4QROU*8>Y8RKHO$%3!0[,N!+^H!!--CJ -J LT1X1*)\NJ*!Y%O,(0 M?*&*0X?' C1<^$.(60*"%U,1 =##(5,+GLQWGR',3#5LX1T#T"0_72.:T]%? M[%X#XVW'624A3$$U\&#R @V:6Q1)0:F4@3 ?U8"CP@5 (.CIP0P'3ZZ#G+/- MEY"ZV[9*M,O]R4=)N0$(YRKU(%1F<2#XIB<3#?!E-@#A=*8]?)DL#@3?[")) M?7R9#4 XX6D/7R:+'6]R=S)41P,=9<8,0?(01);' M/$)0K@7B.* @*[Q1SRD*(TI JH@ D0)>$9?-W8NOM&7V:MP6JC9B[ M0ER/7?:-8L6E;Z@WBU_2I0/.=K2Y-@SR4L*U;].7'Q[X@SO7G. KH@RDV680V21+Z M-$KF(;C"P5_(/[/\[WG$)L-!U$:C$ [PZ\/:EA2@C=DLKW=X;SW1@-#\G]SX M,$YI".$ S<,$90'DC!.I M4T7T+ Z&+/^22^KCT>GXXY%YGUMC3)A< ; \]H>YS(\CK&'.::/ "-M#PYWH M@"6G_X1\A"UO1HPKLO)_#ASDL38)XN(0'"J*2,F9Z7@/MV_0T8?$B)WW2!,Q M,T0OJP#!$Z(A?!D['8L_QW[B/"$A2(]W$5<4!; M(BY5K"T(?#:&#$+9 7A\.CX%XM9L#@R3M<98A3F'(;+?+(*GM\GV#F]2O+)_ M5.'*?O[VY;ZZLA0^F#:II/J4+!D%@LW*\OR6(TOZP;0II"5+2G 'L1Y)Z_0V M"S6L'I:6_R6TZ,'WTO4MKIFC5,NT<:,F755N &P%.-: [,Q#7LWB?.#;]KO\OXH>F[C#L2DAMP MF!(Q%*]OB7PJ/I&_EU?8R/-&55K.-I*;;,(:T\#J-@A? >G4*WI;06A$M1"OI70DK&4P>1^.\?.%90%<$;-UYY<[ +ZARS]\@GNZ>G)$9##Z0:(,'GJ MXO1OM;9\?CA3Y;OILV>INNQ.]$IT=R:X,YGDSB#8FW5$=]:Y[,YELCN'8/W5 MD=UYY[*[D,GN H)E5D=V%^U[ZD2"O)0)\M*((-\U%^1EOX*\D@GRRH@@WS<7 MY%5/@DPH2MW7+-N?7<2 Y:^Z_=JS_-D<]"A5IFG)*V38HA=I!$N8.=DPQ5DV M9]^=CD\!I**L)V(F*_W,L9]D<^PG"(:Z6$TJD^NG?E>IWV42_!V"O:XEP=_[ ME>"U3(+7$*QV+0E>]RO!?\@D^ \(MKN6!/_1O@1;RP-)[+OM)8$;VA.5(O]D M75C#@+7%R4*G?J@N9 @N1,+#=$D=("?I"LJG !2@$_0]I;N11)Z+*IB+.9>S M(8ZU.\29FSLA%T(%]^'2/3YV[_X_,;>K^ M9\,[4H%.Y!(MTVLH'"C'G1/Z5OYL_H:#JL;NT]Y!3H2L_2PI0O:OO:P(V>_? M)IZ74>1R,JN)BP*(=V,I2^*7%!(^<,F73Y]^.1V?=K@9U(EUJX,&DQGC )W? M_LD#)/ED]&Q-08M*4D\H;O\H@S'K\7R!\N+]>P)56Z_;<-]VX_DDF[5I^D1852%: M8M?4QGZ& V+"$C/?=R@]:SKUW*)(;]O^[NBXNFW/VTT2DFQ;_O>1CZ*A9"8I M/9R0,#/SJ-NC("GE)WN$U0UEBF73),UBHE33O(>@+HJ5A+)R5@%,WWS.9/E. ME&H".2+74%DE$('E0>D4Q/+NZ2.,G)S= \MDN_T=#K'=[0@'OFMO::!)DH-Y M],/"[#NRZM4@Y G0T,W<2%9CKN,H.@81.FA B.]L%P) -\FG\[EK(S$NDK(0 M ALT<9%P! "7KVCIVAX*A8!4"T&(6*B)1)45 !#WEX'G7*_6.'A*'T$2 MXB&L 2%"H28X0KX ('4>^&1+']N4AFN?,+G *!1#):X"(52A)E9BQ@" Q>6+ MYX[6J6@N1%6=+>ZSD,)]\5"#5[E\?<)!J UU5@FT*2@$7,89-)_TQ+;C5>Q1 M#_H%6F-DNVF(.UI[*!&[[TQ6 8[SQ8\5::AZT%2I4B?9D $UYN*3> M(IY"B*N -G#KC?N$+VC %?60 U2Y"&CC5@A,F0]CD9U+,L ?$%Z=6?[WLP#C MX(?K+S1SV+_?/P!*VGT=D89'M.71KNFAG/]0\*;S)G$&\L6^>RNXA57YI7OIG.W,11DEPZR1"D D^6KA5TZ M9=T1.UIP;KY?S'Q0LM8TS&<$& C"PU)602 'W#Q%X@D?T.%U _&#G..;0=+^ MS,\\W9QA]$3L:&)3GQ$3^8:8YN1/2L5T/D,!V<.'U/(FXYH^37?O/G\._&C) M=DXW;P[",35?"_,CT68\0MLLER=LT1,@C()P\D!KK3XL5L!!(7[=@UD4R!K$ M5RD^"(#6H88P@%Z+ZD/3TTZDD8=%?+S-* AAP1&I6^D8FT%_^_9 L1?RZ3UW MI><5A'"X)1.IB/ZN<[*52",??^%G9^,6A7!:I")C/@<=2WGKD);.#M+2$ YM M5&0M9*)C<=\$_D)9VJ+"$ YBE"8/ 0_0#'R697PC"5:1U#$7IZ+$#&_5K.P+ MAAJ3LCMMVQZ'<6!DEH2P0&O#R.1D"",M4DS%GA1X3PRD.P++31$_ ##:H[M+8V2;#O=*X"E: \ M!+M$&RH!/]"@ND"/T742^9M><_/3@KKC7H+6;Z17G#VT;. M+."E;6 B<'BK ,(9X8M[JR"9KZ9$1RV:4#:E5^4M'$XQD6B8#!] TUR(\Y8B" MT]/QZ3LX@1+M0,9DL?WS-V53G7LHI]T"A#5)KHOY>9TV>] VU@FYMX%OJT&J M7@W":9 :CNH\ EY:?&:O*;]*T0Y08@##0U>'6X@C9/9A-]85)00)!='L+AJ@9@;"8Z#ORY M0'-$>G(^!4\(^Y30^_@Q=!VNW%4K03@;%0M?E9..$9BL$*:OV5R@=1"ZI,XF M>3YK33,'NZO'&(<)"WPT=!N L51G7OW,2MT#,0'VNO*^H,01LP]Y:7$'SY;+LA->.5GD.4UNK7$734 M:-\JXP6&K1;>HF@ZG__A1DN:M=+U%X34R3Q"^'H=U+?@),WVBV,M_T-[S'8, M-"$I6*0RG!%R X?LI4OD,5!4J-,O1+5\"(J< !EH&:5_[<)4:@RK8B/](E3+ M:5"7-1B0[?R^]1$KMM$O8+4=#34X,Q4V5O 29E92MKR2A3?WE\QH/LC G\ZW MA7.#2B^6[.-^+%G:XBCI/P\H(S_G<60TLLS)J!BM4S+HL\!N6BVRGD",\?N>4A1 [(5/"TOT3-AOM&X&,>7?/)!*O?SIA=/R:[\"P@-/##R6.8>)UELYY.2R;/V'7 ;\0D-+]B9EIS>.&> M6(DK@9HB]96Y?+(E9A4:GODF30]0:2T(\2\M(2KE%1JD>E#"@)#CW&H)P@;0 M]>4VT76%C)5<(0>GQL&I<7!J')P:AVTQR&UQ_>S\VT.$3RA88&N]=&W+XSSC M(2AK_AZ;ZEPE8<04#.F>O$@/'IK MIX,M!2+[1Q6'[.=OO_^S:E\4/IA^GD*J*(F7J$"P65F>WW)D23^8W-MIRY(2 M;%:67^XYLJ0?3&ZRM&5)"38KRW_^R9$E_6#R%H&V+"G![]?QFGO3#-@_[/AE5^@$[E$R_1VD;S9 M\A=+RSU?QAXZ3SPFU_X\P*O$K?. [*4?>,%BA?T,Q915+6\!2CH#(" M0>=,#$'4I1B&\='I^-V1^1"--L3/9*QC1'YW%\N)[]RB'[MY[I)F123]AH+4 M%HKU3$[[2@J7@Z+(3\=H'$(U!AZJ<3F?(SMRGW8G3S2U*.L/%U6E@:($9 M.KQ!.^S]XN-MV#XA/#O9Y*'(+6W2#U$',BXC \%GR^\,$=+H%4(RR>=9?[-K MAWH8JK5HTD?2(LYJS/:U*#[\"!Y<1&\ZX(!2ETT@=VA!K+3LL8/LDVBQU&K& M9&*&VLNI%H<@T*-?IGYY8:B-(;LQDUD;ND&2S2<8/$F!]O#<;\QD&HCN\-SG MLS<\78R(-FG,H^P*)G,_U,>%S4M?LJ=(9R2()%XJ9C*U0VTYESCH6[ID;*E( M-REF- %#8_$F+$ ST=G;/WH;VJ>O-:3)8*,K1$1B>8GCAE[)%2TAK;9L-%5# M>]MI3:X['H,S3*.Z$=GA6Y[,&!"4-9JC07TT8X2.S/,:1G,OM";Y MG!MH4^+>G0=^XB>U*D8S+]29Q,3LF+HW\("11?Z[N5]:6#-]PO'1?OJ$O+E1 MVM[AK9V6"9UYEG]KK9#@%D&YB/F[ V(9E]Z&+%$.8-+*"1+>$*@6 G(O@*4I M+&$#N@-00]SE@^23T_&[4_,GY/4@8++216ZQ=8SM)9EH:??<4V]V,0A7+-A: MLDL>QJ(;FC5T2.\_@!/N^RBPO^_TR;F(L>LO4@,[-6^XH,DK0KC.K JGG!MX MXXM/\U?+B_DFGK0>A$O,S8'+F(&.V\1W[E#DX@:#3]P$_'<"ZO%E:CN9]']& MZ3L/5O3&>.*;2WZ=)@1H;C&/][>826.ODSY&Q4[R3Z.4T^'L/>TE=L MX4TPMOQ%FE#S;+,K,TL?9Y_\L+ CW+:VU[Z1%UF2_DDO@BUOI0R@/6_;V):> M;2ES#6'ZKLWDCA??4=H&=M,5D+T[4^?++[UWP?U!@YIV5=[#GYZ.?_D QQUA M1*N8$NGDSE>%K!W5J>$ANN:E6!6"]Z/+ 5*X):8H$0 SQAT*(^S:$7(2"_D+ MP26\N_\B3" BJ0-B;]XQSHJB #P$(X\>"!V:?X=3DN&>EK"7,'2B97V0S]P M5RMV,0@KDWA-8=/=L?])*>/.'1V"G$1'A6_FLQ9T.JM4N#6)!5/W][X"R'"T MISDE01K.Y_69"&45K[C"K'PWG94H! M6 [2>8PWC4F/3UMHV.!Q:VMB*>WRVUL^!GNR6U>PE_^*B;5R[9,]4YP(:/NX M>7:Z\8DT02\3,L-0^^]^$#O9>EK@LMG,CK<,(\[.=O,+!RY MMKNVF(]_=M2/R;OXW>E51\(":6K5$1S3E/P#41D@9T+&$9FRMT/HRG*Q,"BQ M;RI,YAL NFNH*\J7K=&?^JKVF6U_/+BR'J57P_H;;V:-%*"'AY<4HFI/@S MJG!_]H*$@$/84AM2_"E4^,)]HJS:D M^#)TDFEC&NC_$&35AA1!+MT=QYBU;65J=6WT42F@EJ:6 &&% ]['JY6%-]/Y M9+' :$&&5CH.)_2--$*E;AS@B4Z*Y;1O&NAGY;UGX7XC*^O_$/9W"/L[A/W! M6L(.87^'L+]#V-_/$/9W2(A;"V=%40 ^!#7>8CK'(2^9=Z!:1R%D>4[KK^X M"SSO*L#T8]LZ*.EL$%.8D9OC/(F]&"_-/I]I4ION-3#O9Q!V4J-1W)%"Y@)\ M:;KX,Z71:'LR[%T?!Y%:H[$+/\!SY$8Q1IUE+Q7U-.@8]=XUDBG"EZ:1NTR9 M76LDLZ=!QY_WKI%,$8+32+JAOP[#F/5F9O)QRTV:I8ZK<#4:&G1PN+X^U9 0 M.'5I/"82UNCFO],-!Z.?04=S&YB\]@3XTG21YG--W@S>AJP%]*>^]L3JW0\Z MB+MWS567ZTM3Z *+E32<^8HRPZZ-J/SG?3DDLC1_4M4VJ\\O MSJFI.8L84/H!:CKW2$PEGW(KVMXF!2_,;=JEQKG]0SWG0G5UR9CT&8+ M+/W7EOV+&P0,CZ&)0:!-Q@OS"YLF*O>X+AHB@3P2]X5XN\0 M!9@P=1[X$;;L*+8\FD%A\A@F_^S@FK>B-B!#F//\H%\*@]7?!D M,19-WGU38M)E;W B:27_2Q.YO[1AP+?C>$)H/8E1$TI,^O%?R#"H)?>7-@RT MS;:^1T>;!)IT_K^00=,F',!-_FUFDFM"N.N'KIWF3NO.Q)?V.&B_96I]C=T:ZJMJ1 M.$'J:J<.3 X QES;7'J&;N<:F)0;2/NE#82]$]V'(+*\7G1>K6N3CNV!JK>: M8$%J57;N$H#NF9A M9"XQH_I 5;[!&B:,M]?3^SZI '/C H;R]REZD".@#1C*$?@ %H$:!(&YB0%C M7!A"H8\SF.8.*'T-[[MS,,%6QK2Y;XD/0W,9T05]ZJYB]V#.%5^"]BK*_*49 M)U^-;D>5>P?C5AF\V:$L\$&H7N$GUR;\T#-5L8)RV'B+RU^IX_J MW ;1GRBZ0W:P\-V_LFSKF70X>MY3WX.^UR!T'O8DP)]&9]/---DR9#_1+F/R_8M26CJ//&2QI'#YIP>POHASU90K?QR7X!5E0"L-]_NPKCN\VZG M&L^[W=U_&4T.S[@=GG$[/.,&\ICG\(S;BWW&[?#ZE\%7WA1% 0#@]HRBP^M? M\FB;P^M?M05[^:^8&)'7/AE0<2*@:;1$^&%I^55/7(>O@M4D DS<03?Q8SU* M$MKFN0?^N\FDKM__(-;M3F:/GA7^Q>58E[)>CB;J7=6KW0]ZNAZ IE?E_?,H M>GI.9TS1J]V#B?MZH8I>E??/H^C;N#=CNLZ@ $Q@V M5=X;(7XS&*]]-_!D? M/FH[/85Y7=>6]XM1='792\.-0#AB]*@(--F[Y!&WPO8;!I(_;S#+;" MJU[P1IH><3^)ZPWN,-.#Z\6,L;JI<@\/IH!Q\1D;4RW!!'(L/C$-.2P7U;L2.#XZKEX)).V-:(,CTF)Z/Y#\6"!@%,Q' MCY2$$;&@1DY*Q,@GM3Q::TUJA4FMP=T9O+0P?6%C*\I$T&<;PON*Z(]GA:': MW4#E=HPLWP3%9"@FA$SGR>46P7U 07F(=P,U,2RMFGQ. :QT1:*$M_E8!8'< MQ9/J7A$.%A\ <""+D(O"R8PTB3#.+H<)[]0):T XF.6K5FEXB-@ QSY._9 M%55[35+)W"TV-7;8-]24)\&AWD0C-LJU3\PF1 V5R1.Q,B@_#T'*8:*9R\ C MX@U38TF_7UI#:[T#9_)494L(4QW3947BZ4P &2<]K.\(0Q++L" M685_:&I0\;&G8;?9/>KB,UZ2:5J_&0@! OKSLSZ?@P+\.@QCY(@&O'IU"--Y M7>U6AKS$\4"@SGQ3>T+00YS?"H0IOD/@^8Q#PY\YO>V6S[<4.8E+'PIM:'NBQD@N)';L*8^X3ND1T3%7)1 M6 *L>&1054,U/W8[G1A)=->,\K,-NP%1VKPN>X3H:&]3 TN9^+H4)( %DTV> M-$>?O!H0'W\/0T^N+L R\76$^;?W)Q].3]Z_'[]_=W)T\LOIR?%I'VJ YE;L M10/3 Z:L.GCN)#DD.:>Q"#ARR11WAQR$5G2RVQV<))8,\\BH7A,0=L&J*KY] M)$2;RZ[ .FL!+:TV(.Q=Z\&EQ69G>,V\N(T1IMT.A#UI3=QT6>T,NV.[!>"T M&H$0;UP3-2T^.UO+VEC,P XS3EANS=4,PA"[: $OK38@Q)W6PTN+S<[P.FX# M,*U&(+QJ5!,Q+3X![/RVH\=%!38$E -/4D^Y[V<.D#! M3WC?T*>P=^K>K@_W!D+88-LB8@<8MN/\'6KT84/N)ZL@]GE!+BVU#=?'T(XJ MMB0F8P][I3I][<\#O$IHU#LT/=V_MI,U.2JT.;QCS3OTA/P8A13 2\(\)DB< MQV$4K! .)[YS$_B+&P*Y,PE#%"E>QZG7: L32XBC@A#(OZH"(#_M[D1\0L$" M6^NE:UL>XZ!14A;B$6$3-.E@E[#)(SQX-LK!N'@L570]C@T MM@^+'T/TKYA0\8F[!M>Z.DP<'LP,IR$.ZKF$4/F0S:VCT)D#@D M*_AYDA4P3PPG9+(EIJ]_05:[T"5U-I+305D%")%CXNP#*EQ 4/C=U?J)\.R( M51""4::6 X)%/0#I5R?-C?"%>VYI ZL +X6[ZBK 8P4F*.)7Z/GEH:P(8C63 M ,H'KU"G3A[#;LLA)5#JF$"1 #-7A?H,=HETQ5,7*R"!N8L7B9\Q3F+Q04X M%*1W,_C%@4Q6?*WB@P'LVDQ+D)2N?IR.3\?O 5V3:083D[7V]QV%H#M"":$@ M%FTZA*4AK!LRO'L#M404;.";@A0S>[=V@=8WMIT9S_]'!Q5<[S M,(FC)2'Z+_ITP!G:%>:^BMFL30BN?JUAV(S=86C$CH$T;HR;JEZU-H0[2+@2WYQ")>2=!#C)FF*7;()M"&^V5HF!<(M* M:^DU)*<7H[S%QY525H4O#;76!81;8+TH&I/[6@$]?W^;PN*F@3#_\?\!4$L# M!!0 ( %N!CU'HM6'675I+;.]>Q,<$B M41*/660-R5)+_O07"8 D6,4'"#Z0E.>/&:NK@'Q5Y@_OS'__GT_;@#S2./&C M\#^^>/OEUU\0&KJ1YX?W__'%/GGC)*[O?_$__\=_^7_^_?]]\^;_G-Q<$2]R M]UL:IL2-J9-2CWSVTP=R%^UV3D@^T#CV@X"ZGK[[Z_/GS MET_K./@RBN\9B:^_^2IK_85L#M_Z#>W],$F=T"W:']'__ UO_?;]^_=?\6_S MIHE?U9"1??O5__EP=>L^T*WS1F&0^#\E_,.KR'52_KNUZD%J6\"_WF3-WL!' M;]Z^>_/-VR^?$N\+9CU"_CV. GI#-X2+_5/ZO*/_\47B;WXCIIEJ* M((Z_@OY?A?0>?E;@\!XXO/T>./Q7^?&5LZ;!%P1:_GIS6:O0^Q(MV8F;4>NW M_&HR?:YI[$?>>6BFV&%OO!K>IDZ<]M!1[8]1R[LH=0(C_=2>*#5CF$_--%-Z M=M9,8#%TOF)_266 >@,1SEQ"IF(0^I32T*,2I8!VY)8:!("/47QLLH2QX2P2 MZGYY'SU^Y5&?#QWPQQOXX\W7;R4&_E?VT3].(S9$+M=)&CMNFM'C6OS'%U7? M=[0*R [$EG%9 2=V,V;LSQ8KR19?N1$;)G;IFT#^0KS[)HZVU:(*=E'%E_\( MU@:_<*9+29&8)M$^=G/OU?K!5?GK;)W+R%K C(6&;WZ][2#T_SC+)C-.Z)'S M,/739W(9;J)XRX?6?Q=BC.]AF1P*[SMG7<2[8H"&IHC]KDW!S 7KVB'UQE9Q M>SNF0IG\SFG_W\F\\HHA?B"B8OGD)Q7Z'[= [(,UZF2N=_ U4H^KD]+4T3B] M#/I^!Y+&_I6YU\9)UIP56T#>.\Y.^!@-TB3[Y-#9Y,?_8//!E(+;GP9.DJPV MMVGD_E'A>CKMD3JBMJK@EJV-$3JIOLRF+LL)DFA#.,F>3ML9%&7L>1XS6$(3 M^<<=XU*#D:T=D'JJOK(9@C:W1NBK'80V=5:)K#G]1?8G 193.V_%?(4MQ.@E MB]0JUVUICMAQ=11MF'/F;9$ZK9;(P\X]@3[A#*9W5PB5!BO(KV?@CJHBA^X' MWR%WMY*(O=T+J$WN2C?TWH?- W#J?(K2H')=^QDX6Z.JA]Y7V1BY.S;+W-L_ M5?(DIS^YQR[#<.\$-W07Q4V.>M!L!OY9I=BA6ZIMD'MCI:B]G5!0)8+LY+Z7 M'T6=,>]OT/VPW0R\KU*U0_6-.V18LWC[0(#B-MCLG?&[URLK&,_#+>B4/ M/?.X)7+?;!"XMW=RVD02G]I!Q6[3A1_0C_OMFL85-JAH@M@9ZQ0J;SD6WR-U MO%HQ>VXK D4B2$[L8W?.TZ7'_-W?^.(:6HO#U;='[WTMJI9=L:8Q:K]LD[FG MDS+RI$S?CLMFZ_DP_>ALJU8S-U6GT3Y,X^?3R*MWQ;9>Z#U32^VRHS9V0>VW>I+W=.,2DX78EB11 M3"0K KSLG(7+_USY(7W;=LYZT!:]'S>H6'GXK39$[;--\@YSY%T<> -UL@KM MN^>[#N9X-T_W?*?KGN]FYI[OQG7/N\^1=??\IH,YOIFG>WZCZY[?S,P]OQG9 M/9F[6<)//M-8Q==Q].B';OVLK^7,5WT>>PS2"EEG-QTF/U*OVS:#8'UZR0=BBO!-+@E$#1TGJ!/^? MOVM<\=BCH82 JZDSG?:12FC@L75Y(H#&E0LRU?TPRQ\S4I5CRV/6Z#U/D: M135^Q2.(DISJM-ORASJ=;QT_D)&@88*#YC/RQ2I%ZWQ2;3L3WZP4>3@?Y>0S MQ)S063DPPQ%65+6>.?P>M3M6J%+XG_(E6H>KDM' M*.#@>Z2^52NF<:H ($@XQ:DO\-Q2=Q\S]W[[;GWGIY5Y42J:(/:Q.H4R'SO\ M'JF/U8IIZF.<"KSM?_ONU?HUR>A/YFAWL0/)#V^?M^NH2N'#[Q&[6*4JF7^5 MOD3J7-4R&GN6H$8$N,U*78X>*IMD+I>HZBFOI<1)1E5&S=> M3Z/M%JY!1NX?MP\.L]EJGT(26PB)V@WNEDZ(_5)?Z?+I0U,/I#[;0?">)Q." MA\CSM"""#5'X3.S2O]$@^%]A]#F\I4["5D'>99+L&]Z\U+='[\@MJI9]N*8Q M:O=MD[FGYP+Y-W\ ?9(Q((+#Q#[[*0KV8>K$_/%97)^?[+@=>A^M4:WLFP>- M4/MDG:P]?3$G2P3=J2<"^SCFR5K@)2Q,LE,GW=<[8FUS]/[8K.C!L%_9%K5W MMHC<=Z@7U$E.G@CZD[_32BEDEO8?Z9F3.E*J6IO4-D?OK,V*'C[)JFJ+VEE; M1.[]""NG#DE1G,Q[+;SSCT^=E-Y'#;>V#ENA=\U*M8X?_.=-4#MBM:0#//N/ M249U8J\[W]+XG@'TSW'T.7V0B2YJ]:]KC=X+&]4L>V-E4]1>V2QQ3^_,B!-! M/M=[K@=>J^K4>U@ M&ZC<"+7OUH=S@\/FB'UR#9I M>\\,58_DI"VYHU@TZ3EDN>UL7+)"Q6JG5!K.PBVKY!W*,662\&E=<\DD\+A^ MU9?G&!?MW;1[8L\ M0#N90 U8K8Z( [B;_,:NSL@3)_0(_T-AM"!.2C)>A#.S$^(3V\&%/VC!R%[P MWU &9[Z;4J\/#'2G@AP0#,VB0D-'$HA!PE03TS I^)$&Y*AYB3>(-1YIO(Z: M$<.B40 ]+.XL/41Q>D?C[67XR&2"%7CMWE)U4^2QWZ1@:7^IHAWB*&X4UW@3 M!HB^8TQC:R@7Z_@A*ME\7(DN:$N95"S#NA'FE8_7M?L@CP:=10N M+:$;VB..3BVQC1?4DC@IJ"\(HS_N(-J^KIY$YUC1.:0II!QU@B#Z[##7(YLH M)EZT7Z>;?4"\)8YM/SX:_CX'?M_9KX=Y5D$@J-7#\/8.DJ= )VM;&U$Z<^39K'A)8NR,<$'875,:&I/>(Q04MLXXO= M>X9^C#J1Y(FD;WE,&%7GY18BEWB9ZK%4?2?8V(O@ZYCN'-\[?]K1,*%L,;E* M'VANL9=>3^3QW$%]-:PUNB&.[B[2FSJ\Y$$D$SX_X6S(P1F+G6"?T@14 M,$FX#2)N [=T F-G7O;R3: Q7[-@!,4&U;I;.@#7.8+$#^BMT#T7D![6!R-?]*0K)WP MCWR[T.:R,=K1.'V^9@JF;-H$9MC! <5'6K]>;.R"'.!T%"ZO$.O;(X8T+;'- M)\*"^(+L@#R?"-., 7DSVKZMQFIP JW+ZHZW2ZVQ\'M!VFJM\7#H.QTZ7_BA MG](K_Y%ZEV'*%//7 16S[WI\;NV$'*'UE%8QNKD'8I36%-S4IP7Y-YP^*1CD M.W'TR'HKJCI25:MA#%-?O>M.U2V1!VR#>FJ45C1#')I-TO99 B&YZ32N M>BCN.56> [;NXK3W0AZ-FFJW'F[/8N=&5_+AC[AM;]F,K7G+0?>;, K?U!A@ MNA!7#GE: [NN+?)P;E11#>+*AHA#MUE>4[H-I\!HU9![^RW_Z'OZFYY16PG#KCRG;4? M^#"A688>+QW\$ 4>^QEA;S%];LDET*$[75Y=WE^2Y8?S\CM+\N;\U]65V?G-[=_(^?_^]?+N[^C M@ .]9"*-'>83\AII1>I;SR.LATZ]H9#&DV5D1'TS%0,%P%[YH1OL/-48>_,U*5CV&++=$'/0M O=^LR7I(GGX M.):6.T'7]O.[B=6SD +A)(KCZ#/#T-8,"*66R/&E0;W*_ =%,\3(TB3M ,D! MSNC:$IB,K!B_ZKC.2=L+NO/M+HB>*96')L?3I1K[Z/1#'I#:JJOAV=H)<;#J MRV[JX1F'-]G16-6:P$Y CZ\\&TGC/=,Y<0(G%I?FUC2D&]]LA]Y-_^!!^_:= M#%GVP3\D#_FF*\D>=4D5%*4.K-"U+]+0-3(!A&^GCI9#V)/%P9R*^DEF>O0\ M\&8KV&@=^/=N1TXE"6!WS1?G>"51>"Q+%\")@O]U#U)*(S9-)ZF_%0T-( M,_+YP7>?^/J;W(+N;)61TS8C *JL-EL]]D-*/&99%%X3^/77XZ"U55CU,2.+:$Z8T66^1/N;%='83>. M%6I'+#NF:'C&K'C5M =LTUJ"/[JT>#>/;BC X0U]I.&^99.MMC'2@5M/R=(% MO,J6B&?7+0(;7[>39(FD:SN3S,A:QH(NI@,O[9,%_.&GM\:=U:)VA(7<=(O6 MMILE(RA73BW0,+1/?&55457OWFI=!^0AV*[LT0W6RM:(0U)#Z'XW($L!BN)" MZYC:JK=:4<1K]E &=N=;8[6V,?(X;5:RZA%7N27B^&P1N/];)R"\8(OK["I$ MMJ;^ #L_(ZXC=5]XC:9X?J*C7@0)*KZ.-OP.R*+M$HA,FOO=C]\LOOGQ>[XV M#_U@49,J5S1@?_SP&L4$NGU6,P,B4/5QKJEDI"U3='''ZJ+VCVUT4._&SN!6>5:<1)V?+-(W]]3Z%$[*[Z-IIF":; MT$$>X<:F4>.^,Q'$:&"NB_'PEG&4KRH615DXP75!5+XP^12<[>#'] 9B&/5( MXY3G18FI1^F6VV$79_O1R0-CE)!7\.5VQ\]:'Z'RE)R8O_OZ_>+[]]\NOO_V MAVQR7C,W%]\??OICN8K%:_**7_A^^XW%"7SG-U]S?N75[5W7+%]RC?AV227] MM^SE5C6B6'\),J89 "1R,U!.W&;I6395BD*N;V.5V>-FR(.U3K'#A8+:!G%@ MUHK:9X[,!BA.<2$*OR[(99+LJ6=O03"HAJO8\T.8SXAQV>*\/Z9.LH^?N6Y" MS:98:VB./.;:%"U-UFO:(H[!5I&-I]Z23X>D+M MES=,3[=:SRE+5,#E<^J=.S%<04^6^9UQ[XQN?->OKU"AT1%YM.HK7ZY/T=8+ M<0QW$-[4S3,6).-!7BE6W#1, MV(S@,G2C+;V*$LB4O-K<.4]UB-B9"O+(-S3+03*#+B008X*I)D,$B'P[HG(D M@B5Y!4Q?\\SB,.5EG"UF$+!F(/FBI&2@@#'#M,VMO7&('QCJE6O>SD8DE:/ON[UEE03&NA M$S$))TY**&26$(E*(!F)7".,;X_658@UBZSSMID9Q5_+:B5[3ARCV M_Z1>NZ4J>LPGP.O4K0GLP^;S".A:J8<)9$&>%/2M!^_@"A\%;79CLU9GB\$K M+K?K6BEO/;>@+:O9&+"BZ9R"]4#B(0,5S>N'036MBU"_4E>+T;G:ITGJ\,-F M71.5N\PM3BL4;@Q6I?V<(K9*[&'#5N%@[^;%J'J7[V! OB 9QN/<*-6\CS&J MRD-U[U_[R:0[J:#S@&D@- M>%82CZF*QL.22929)D!:1^O?VW[[];_/C=C_S^-?O7 MV_<_+K[]^AW)JD7Y(25LTIT^)'"5BQXG:I#Y&U!E;/@YCI+D.HXVM4_ RRV0 M!W*%.FH8*U\C#N(J*4V=G=,B@IB=UP+#:[.KU&;"@AQ90;B\ZE;S"K2I/?)X M:E6U5(VCKC'B6&N7V7A[,R\;F)?1LYWC;PIELT)Y%A/\_4Q#)DVP#+VEM_5# M'W2$@59J78=3K;V0QZJFVJ7QL+D+XKC5E=QXI!'T^82MS"$+9UN3X2DU=\J: MYT4P]:?,WW[S[>*']U_G<^;%NQ_?+K[Y\>MYSYIO:$)99#ZP'^&,K2*": >; MF,WXTM8'.;IHJ5S>^VOH@!A9].0VWU83U&6ZZYR^;5294&M/T=H 4=XMOOO^ MV\7W7W^?8?O=V\>VWW^9SD>]_ M7/SP[H2"R[X7':ML-Z@Y6FF< ZX;M MS()UI!#%$Y,C1:+M$#S<&=;=09Y!\-6IUGAT@3GL:F4=[JABS$7$7=N)X? * MBM2 T=$A!8* *Q++MEFCU'(N07>L7F78%VFO!C/?F*:I.750Q3FP%>_1M;LBAQVNAB@?'^^O1]B8.HD MOJFKZS"Q UN3JH]COGZYW3E^#$K60KAZJ:8 MH[9%XGX+S/3!"4E1X+A@1F#,XF__"YZVS@S&,H&B+6QPP?Z_GY.W!%+3J&IS M37,1Q=2_#T7V0_?Y+G;"Q'%A3O2SXX?@=B=TP]K45Z#I1@$Y>!F80P6T#MT1 M@YR)%J:A('F1C!E1N!%@EQ>;67.>HQ6;:04#&U:A3RX;$NZIA G;$YA\#7;! M@N8T"MD\;<^F:JM\&24L(-HQ.]#D_"F-G4@F#;A,Z39A<"7=6*& M5CM+'),C<2:@@"V@9990:Z+3VA(ZQ][U;>>!<#5JGD,3D=-T0-+ MO<0]08$1S@Y^R"M)>^ =Z Y+PG%U9=&8G?[81*_A]>-'7!;S)64[#:($T)G_ MZ'LT])*E]Y][L=2ML8=61^3@HZ]\*952:R_$D-1!>&./SC>O!(\%R;DL2,'' M%E!-8($S2K=07EB2%M.VF.Z8-@^L 6QK'22/EW6X[.' 1YH6\[/EH^,'D./^ M+E(RR4D93YS$=VMLVYT*(]BJ9G&NG9DSRV.QXM:1.$Y0-5 @"%(F.U%0>#$(BIY M,%I\TWNHJX0@3,BPE+1Q!.90BF;S NS!>3!/ MX->HSOS$9:N ?=R:Y,N\? (6<1QH[]S0K-K&'7 $,F%PG!>(D19DM_5!/[3(.E4.#C'C(3 MK#9'=3F:)OQ=:2"')B.3J(#4B0!B&#+3HW$=ZR.3V%J?T5<&*SZ>637YL^L[$',\3/WT^GJX]GYQ]OS,\+^NEU=79XM[]@_;N_8?SZXLDX52-$0_;( ^ 2I5J4T$A=MYJ.0=,XW20FN>:S=!& MRN_/QR 6;G=ML]'A=18U.F4Z613IEP9+G6*YYF@%D()43+K5YLYYNHYBOHN@ M>-E=)'RL94P>CCIRJ!K8C$?%4/N31@R/0VO8KV!,29 RT/*RR/ H@ FT(%*D M&O2U?DT8EU7=DE4;H1P'^-67IF S3_ZO0.RMYFE.,Z,:_!Z]F,T8&OL;61T&# CY MW]E_0O\H5_I4,^F96]+>J%5ALY:AI[D'\O%#0UUU$&AHCAC)=:0VWLK2G=!. MN(W0FOQY.H/@77]7H> A[@TWWZRFC!PE$S1/]DK[$O_1U!? BK *A$(<1MPWW,MCYS MB8NS M$]<]2^A.!;F_&YKEX%9R%Q*(8\)4DQZWESD?\BKC",V782@B!9])#OE3]:&T,PVTNP=*[F-X=_P(+&'S+0$F MQ.)C,)"-[-J[S?[NY>-#+%>7:1.=('+*"A#29]AF\;8-RBD0( M0(0$1(BP(%R(!2G$(*M-J:7K1+-#JP-])B$-8BWT@CFV/A@'QB3(40&E&=*/!=*9M&@Z$%(WC ;/>"N& M,)W]!AT1^KYTKAP=2E8 24Y64@YAI5^9%+ ;$M"4M[F$-$%.<+U?![Z[VC!] MCC/]#TD7\3@QJ.FRP6(0HLA'C&%U[+G5YV]WCIN**NCEP4 &YE4.^["@\EXH'M)[2&;3^M!X?",4Q"N*<=DY'D:F M- YXJYR!=^HX8X [GC?K]YHIQ TT*6C%N#%F3@."W$!F: QX# 49)[#!T8(G M+M@-MMM0W/].[J*EY_$D]FS"Z_C>97CJ[/S4";)K/Q=1?.HD#[KMVGJ'!,HYAC09_5DS&I^2-%$RM_ 39/L9DC)'O$3BXRV3&9W_#: EQJ\FIY?7GZ&@H2L(^2!Y+D<@.1 M1RXY<;CH9!]Z6:$6F5%Q)S0@3J'"M%LA,_IE"DG)740*60D(2RY#(L6%E'[R MIV,2$Q"9%#*354B$U$2(#6?"HG 0EYQ(T8DB^YAS@;I]E/G\,*>';A]F;B\J M!T8[$#WA[_R9H=+8=_,O;2\M:NYB?:2?^3>-JPN-ODC'1",3'*TQVCIB7V9H MRS_B547&3#2PN;$PNB& C,.\L6JE 0/GY?4JSU3A9VW=*&%(W^NVX:A (=8@ MADAQW'F>4%%C! VL..@Y/["H4V#,FVQ(X6)H4VC?E[2Z-S&^'8; 343'5%H7 MW^'OU%\']):ZK&7J&TW"=&C.$W&[F4QWTM9*<'[XW%&O:=ZCP#%T(08IY$"% MYQ.9;HB[QT5=>G3@5G6)NS>ZZ1.=)[QU-)KV1/,% EQ7Q29Z8C$/B)O*>,-@ M7#&%PX!W.EN3W+Y\C_M4*1IT0_^Y]Q,_91:.'WV7BM_BAKK1O2CNW'1E:0*V MR#%S*L.7RH6-S!,Q[DZF^A!'(NGQD8BO'(G4U3!;D%Q6(H65X$X4<2U5.,-N M_[K::.BFHES=F_SLA;?B9T,\R>9%%&^HG^Y;;E/U(XL<6H_P'MV)&/SS(=:([ M3Y3K;CKM=??+Q#D#W<9'+T06-%19H@M%G6'1[V>2];/I?VM_ :OF 5)F18YY,"VNP0G M5. SIATSV*49131/?*:U0RT*(YKD*8^>EJ%W0U,_-G_8W4QA#AC-T9[5=T ' A?6(]JG!;H0#,50V(/!&5Y5AMXU7811)\3_6I5 M55W00V6[PC6UJ8[:HX9"#;$'J:6A455C>?L+N;A:_79KS\\_TA3L_!HJ^VP/'\L&L++_/1/*4G$?"];CEML S(GD MC5%N+B=G]I,]_&&FV/@IU,VL,5FI 7*\.%9&Q8'B6\3Q72%DG[@]J.S*_AGL M/;X B&*Q>7M0>OHCLS(+729G ,TN0Q93-!FI%G5;N YL#+L%I\_H+J:NSY&0 M_2V26[+)_7(+/\6?50E;.G9%'IU=#*#&K4X_Q!'=27Q3]U:90-:5+''(3<+V=!KTG'6 ??7AUKMV,H(:O7D_$X=Q1 5/'!S9R^P#2"9[YR2Y*_.RX*&-* M.%>2L[4U09G(*, "K.%Q:SB!>% N30%+#UIG"$M/P^&]9>CZ ?U(4[$E!"K< M1<,3Q[G) M(:[GO3 PMM,59D">%CA+#ZR83+Z:;X'63@20 V9W8Z@PJ-\; M,;@9*&'\SDZR(J\R9J\A0 H D@S'1A^-S94)K7(JZ^@Q2T"-[E3DP@Y\9^T' M^, BVV%BF$S]1SBBT[9@9=?9 42] 9JAX;C?K$"A0?R!X2#C1 I6MM9NDY@A MUS>NU=>XO$P%C$%U^$+ZY(SRQ7.R##W^U9)#T($]>I)"&N-#&"BKY6)*!WEI MEMYJF0;%W0-E6)#A@Y?C@Y+D.6:<8SYM$.F> 3O@%!@8CR9M(IM8!R+*5,G/(ZP8J M[KA[QA8*A*'#'VX N+@I).P(.'6]9XC?:+BGZSB_\:U?5VBF2G6<5\G>QC[1%)/G8.J<97 M/]=S5ZVGS; ^W^Z"Z)G2&QIP-"PVK+7-U4AB=L'>;I#FN*_O/RL(T%!C8#3( M.!+)DB@\L2##B%9A(!%#8KW$"2!Q)2P/UC2D&Q_7-$"LB82L)F!1WW]V2-%B M"HV%P7'G66%$FPZC+ ZR.$&(#F/9(U.Y8>\@J+?&@,=.4A"Y0Y+OTIX*(>KA MH#\UI. PD)GJSY^T2S:GAI"9 ^Y2_>:G#Z?[)(VV-,YL M^:P]B+9103H2]#1+\V2QD<2LIHQZF@P,4!DCLO0>X?TCF@GCN-;(#K08PCS2 M\#B-I_5E9+&/;KR2K",Q.Y1H-TBG@R8\,\->ITV3K2J5(R>L"\MQK')\]-1S M*3D,8NCGTZHQ8B<"R-&BNS',LM0A1@H#)2;,2H<]Y]P@-N'/H5[M,SOL%.M4 M/8X:QR91Z@0OQR;6\?0RE$6Q^F8#;28T3WS5,(X&SC90F1_>ZB@S$N[FK.>; M#71,ZQUF _5S?>S^FI00*R]!K2RS2B0!RO.ENC%):,^W> MB/'%0 GCF[>2%2^?+ICEZ446(K_(@I^H64\R,J519!& 1,TPLB [GFT%2:*1 M*G-X>T SVG@36:??#!&B4O4V8"AUFAD>5,L^, Q()I8O&D^@?G7 YV'.@]X/ M4T;=AXS-MB\@,P.XE'K)!8N+/.625O3K=,0>_MK*'^0[;>F%&0#TA>^1#9.S M$!-D8"(SC8V) 1TRDD^K/^848P4<7NQ#[RH*[YG]ME>1$_(\0OSNY;43-VS_ M=J. '0ZZFZ-Z7M#:'3- &&@QQ%P!N!%@]P;X$^N%#TZZC_WT>1EZIU$04!=VAE<;;IA4 M#QQZ4<0.&?W-U;3TZ$ .,[P,H-5PBY4%R?CS:7HA 83C%'C4J:B!-.*IA' T\;: R/US5468D?,U9S_?J[)C6.[PZN\G- MA>/JK+*.SF?,G&KL^FT#HG%/5]$,>J]JJUQ[7 M5G5"',7ZL@]T] H\B&1"39)]5C(]BCTV,XV>& Y3CNQW44BH M9"R0@7U.(B'18%GHLGW;BRB^I6D:4/C7:O.))@P*BZ+3'/*L=$-I9WRA,B]RQ/>_HGT*RU"RB6*2Y/+ UX]< M(N)PMF0?>C3FN<,2I7I\-D8[A9C3IJ:S;YG0E6.=7CYC^:>R[^9<(SK17&SX<7LKQ MZC1*6L^R:[H@Q?8N"E>=75>UQSS+TQ&[-U# Q3D^O8PQGA9@KA\FN=6J3]]-#,49&M.>9:^VL"SY]H,DFU]9A+/C2I7!71EAQE$ M=+/O[D!GN/*( EY T;O\XW&UI[:65R(9"CN9T?11T1 MII4 \:ABR1!]UEX+,38I.A1A J/J+'&R*08.9#AMC_(0O'-0'Q^B7"KE8 M$'04%!2U6\[#QLT #.;30B_BI(1"D;&-+$HSHLUN4R=.7XS5UO3>#T,8@,>U MW;BC;O^Z1R#>/,9+,6U8;=2IQ"H<8Q0=AQ/RL75$\ZHC[@AL$(_#8VIK&O)" M)K[C7EIZ1"'!/'"WWKG";6N:V3H&6XN_$[!Y-?;B@M[;_6XGKCHX 9CH(H@^ M7X:;*-[R&SLM[ZGT>R.'R(YF4&%/LRMB*.NJ@6G(J'P@^:4;1,D^YB>$O/H1 M!(KR\)"%B=8[H&DP"(&1N('X]32_8&SQ6=1EZ$9;>N<\T>3:\;V/M XF*ALB M1X1ZY0ZJP!VT0ASG#<*:>JL@23A- D07A)&U=8PUGH(I5Q"N[=@,-P92#!S; M8NVP%?I JU2K'&6E)JA#K%I2<_<3]&1L%6<+I\[.9R.$_R>%8PC1:(&H,MIH MAK ;@U !DHW"10Z&T,L/R2]3NFU-0-"A/_*X[6R*TIT:W@,GLT;R0,%U'&+^/DK7L2_>$+Z+X,F1\G.!ZOPY\=[79 M4*@W?V [@^Y(8<'4$-DSIRY]D;]I,E+%>)O_@1(G?\3D"-901D8,EW 9UQ>, MR8YS9LT$:SA./PX7UKXJ6J9]QS2I!26S@Q<(_ F39$@$1Y*QG!9?K1FD]":A MR9/LSB0K=WM@?!Y)"TBGF*42>0_[Z+G3!QW(KP'9(N4J >W'3J MO*XW4<3SO>%T,PU,D. 0IC(AB)""9'-%%JU2D/PC110[,T0,%JQ\;\7&P90\ M4_/59?6[^?RM259%4BT@R;0[[81- Y%$"DM#&BQ_.M^3'O)YYF#J#3/W5%]\ M59NU M:M=<"$!X8:45(M1'9;RDHU?.]/)PR_;C4+21CB&CF'"P2\4SV-(<5C_+EXRM M;XCBL.8-A8CQ Y]/(P#CQ) MKBA%81(%OL?+8ZR=@$^)DP=*4YOY5LM&J;'N M42/DH%2M5#F9H]H",4S4"&KNH:48MG5[8#RM[%[Q.\('.P3NN\G;#>17?.Z'_)Q_-3_/A&ZX@AMXULVZV M8;#:R--7)[AEG_#CTK;UP5"TD0/#H"94T6,0PH@A9EC]3$-1E8*#T'7,EO#^ MS@D:KCW-)$#/\ML,=_0I/6%B_C'&;U'-YB6';8-A!XO@"AXO-9B;5!TBKGEQ ME$(D&>:%4+"=EXM%"KE((1CY'40C7#9+.P"H38P0.I>N"UL3?GA_S4SEMA=T M:NR ',[:E56!J;XU8HC1$-K\#N!V"ZG0(8&H?Q_Z&]]U(']PSI%D+"T^KBL$ M.[9$V_BNW1FYFWXN2F.=@HN"Q(>/\B;SMUY MI?>/4%\ M%X1SYBLESEL)K&F7FAI;X';,E4-.C 5RV,(:KG&>/^UHF.1F6"8)31.]@;8; M!>3P8F".Z(H<1$"_/Z79P7D3+T^%XT9:9^-M,IS3WB1%/&X*L8>-F1[4CH> M=^)[APNX(*X0<=H+Q-:M=S1S69!,!K+,L6DI;20%66"9WB RH9Z;#?=^I#1H MYG.52=YH@XD# K MXV'BYQJ3&DA[KF=Q$]:>55I=PVJ]:OX4Y#J /6GE34KKTK"]'U(<[:SZ0;WJ MYDZH%W^ZLIL[?-6S+.O[(#5JZ^^X=B0Q5\?7W%_MTG^.X3#&Q#ECMB"^L_8#?EVT^4S-E ;2P.QEDH-<=_H$D&]*F>MCGA$32J?S=&1P MD?G1\0/8EK62I6Y"M;/,; W;30IW^Y?J#,T$* M.>,:M>J*W3 <$,\\1E*T]QT:*<^"9(&N\%\HP:Y\K$QT\K,[!#,>?!:>!7!R MD43- =B!R$:6EE>[;9V0 YN>TJ57>HT]$ ./IN#]CJF+*@"R>L6KJRA)7EO> M7"JKSO\E]>_PYK4CC5DYOJ9)ZN.@A> &?IF.$*+]J[8<:*#!@./H_RL1J($$FBP9PP4 MDXJ\XI?VL55S#^3!KZ%N976Z69UBZ4C=LYR;J%_C2-6 M4_MY>?!P<%RX,)8;VA.KC2%R[V+J,/V>;U.FV^V#$[=NTC3W0!ZW&NJJ8=O0 M'''4ZDAM?)%:TB:"+A+';1ML:AO/R5T;!YCJEG-QT@$O^F?^F0#=<8Y16Q1)''\C!&*UV4 MZD41,38,I)CY921&^LT)T"8J^QD$W(EJD-;+A+VIOI20:S:;4B MF?%EQU+Y6U4"(D40A>(68OA[PV.?9'*@6#?:-B$^X#IWXA!N<5[3F O7,@=H M:(X<:MH453&DKBUB<&@5V?C^(TT)[+\31ED$-AYG;1L_F]K/S%T;Q[S:QC-R MV.% -J-<>"R"([3QU,44H&Q,V_JIF.R';#CEJ3!IZ):NW+55CNM( WD@&YFD M5 FN"P'$ 6^FAW%EMX*;J!ZC\CO:=;(2(?I'<:V=YA,#FL=QS3WFX>5CG$VI M;HWL3&Y"S8\"VF+B=7H/,MW0712#/"V#6T-SY#'CUGYL.:@Y%&MQEY]BBO@Z63YTQP76V>T@0XXGR_ M3N@_]TR>\T>-D[V&YM@CND714AC7M,4OR @33AF/J[8.1 WM9^:L MS8-.7>,9N>N0]5;*_HJBU,QDVMJ+SA,G\9/5YJ"4SK/X_[90U>Z,/&Z[&4$- M8KV>B".ZHP*F#L_9P*ERP6@A*B@]D]_E?ZW'^]2V4,LVVMRP5(I)ZL5]2Q?D MT:ZC<'FKLKX]XLC6$MM\LTXACB^21]5=UCF%LCW\FHS"REX4_YK0U>8\27VV M,J5)C5F.&B&/U&JEU-@LMT AR ''@"YVPL1Q854 UZ'X/P.^2$@TYPD]Z&''C+ZF*N&(*3', MV-);)^.@$IQ)QIJHO/F]')4[/N1!9KC >%N@,H/V@7HW?O)',YAH=T**&-V4 MSI)BM_= G@6[@P+#//9R\CUOLA.A#!4Q-]*GW0"$_N0 M9E-[BZ<13O( M\?9?Z"4S:,3P*SNAK()GN_""[[*[QL76CU)(D7&(0U6.NWH M00_QC&H0M8Q/2QA5<:<9_E#H+T@A 6EHA6V:9=V:BR,C<1QK"ELH MA8<4+O:QSJ[^-M-Z.5Z>(#JKO5 43&^<:NGV18IY1B8HYP#3Z(AXEM1-?O,L M6HR+DBT]KUE2<,(WY9G&-)6FL)P6.<,DO6WKIO;(P[Y5U7(^V9K&B,.[76;S ME*H997R1.Y[65U%XCVCDKJTZK!>Y';HC#^2NAM"JS#V?,.^L@OE-R(:*W/B M8'*[H*K(?7K"(AQQCD&[C-S]].-TSM]O26&]:U)D(4L3K9Q1U M*M2- N))D*$BIG$AV1'X/4C&D'QF'$G&TCY&6+;-#76C>[9>L_K$5@JCR')& M-S2.J2>_:;998[]YH$.[ZA6 4-\)/P9HR#Z@:R](QH1DWV(+_!$-R /+3;E2WGPJAKC3B8-80VSX.1\#4X)XYG2C^AYM:C]88F ME/D[W#<]8[($$3]LD64]&T\V]'HBC]\.ZI<'Y]9NB".ZB_3F [3@P0_Q%"Y9 MQ5A\T8[!*A;7]4OOD<:IG_CA/:_SI#=VM_="#@"::JO!W](%<>#K2FY\_ZZ@ MG]4ZPQ;E8YN SQ9X>']PXC\HWZ3M$]R5)PO\%N5J1V,'Z(N"W%#CIOUX0;\G MTK@U4#\[:-#LAORTH:L68QXYB O(428,\45I>/!^UO7(WT<]@IC*+D+GG!$1 MG$2)*>LH-[TACG[\5_#+O[9\6^N*)@FE5Y0)JCF1:>Z!% P[J*M.8!J:(YZ\ MZ$AM?!69TUX00=U^'$^AL"5P_EV%T3/E/+C1W^]YQE^F8#M*P?]GDB#T$#] M;.6@V0WYRJ&K%F.N'*B4A;B*,&3'.$Y[<6DJFV1\B,J(O_NPCV0X[&"QQ$Y> MT5ZM.;_:P?\O0X_A, LJ_Y&"E,VY M;^!O*.]9<%T0P9?ON^2<>5#A2S&(R7!6RQSO8OK !&&JBHF>S@5Q@^[(P:6K M(0Z*(&OU10PCG54POV^@,))[EOC64I;,\0JV1U]+J]@#A7,G#MDT.;FF,45W'A^+>D3QD \%< 7Y6/;@!_%Y/H/MW5R*'8< M74 I6XVM$^V>2$/50/U\ZT2O&_:MDXY:C+EUP@:IW9Y_R*0@O)HR8;U]E\__ M/3_80P)'F@$!ZP$GDWWB#9:)+'<,?&3!#<2YV0>_*6U1^$5(TX-? MWVJE1%C;Q3S&($WR:4P]/X6_:J>#33V08F4'=0_*)-8U1SR=T9':?(ZNT.9Y MM1=$D)?_P#:OFHVCD/WI4B7%I][JQ8 ,\K@W-8P* M!EUI($8(8U5,(X4Q5,HDDS)+?* QN7T@-6:8UIL(T03A#A)XZH)MUA@Y/#0K MV3@CX"T1AWJ+P,/- \COG/)1Q%ITU9/G$QJZ#ULG_F/YY-=5$-;H-C?WK5&\ MT9$/^LS)I>M$']"Y; M3T[LPQSW,F3>09/TG(F8,MG:]E.Z44 .90;F*-TXT^^.&.Q,M#".$ MJM7=!=@_/"1O, ^+P M_+VLN9,2. #>PX5//^3]0S@/#2!TO;W+4^^L]PF;7"2L?41V<<0^IN0^BCP1 MM0F-'_TLA,,H9712&GH0\%%,F-V=8.*3=)N_BXI^+64KA P$A+ ^4& R&QN5 M_"T?,7)7?F3NM7XF6^<_F4MQYR4,\.E]%#]CF(/R0?3Y-]]CPRJ_3L GY44* MR_,G9OC0";+TE?D1A_D$"V=*W.-)H5QCH9QK= MQ\[NP7>7D/>[<<8^#$7D4#F N6JR;7%V3@>P48M;$)D$OZ-/%#'^^?>B4%1JZ445AO)7 MOK/V S9,:"&9&27D"-;#/ <'-EW)($:L/MKT./*H*!*P$-5_^&0KYXP&H6S8 M246F;?0H;H?!=HJ355F.\RK+XNE!EH(\MIW4.!,]66U*)TJKC3CQAO^_8.:, M8MW5:3=*R*&HAWFJ5I0=R""&HC[:] TQ?CA0/HJ%W.#\ECN; ?!C:,$;#2+9 M-)<\@U&L!8?6]N%FMIBK M>F.K,[D9P%$?K8:(LXS[@G#^"\(EX.-]+@,IA$"'3[;M5S%9,LZ-6I\+NM B M.:.[*/'YWAK_2A2U/-VSF5F8%N]+6P^!AZ*+%(P&-UTIRW1?HLB/B(?5<<## M8CB;C7A>XB+<&&9Y4CX.6^)[1U;$=860TQ[EXK"?2.!\HQHJ$X0P261V[ZQT ML)1F090WZA.!?G3N#_2;WKF.X1^'JG;/C M]HB#7$OL(;P:R*.)Z,FT7COA'V0=Q7'T&9)588C?; OOVGD&O1F>L4_B/B>2LXE_,D86ACRA(=WX76KX_HEZ;VD5Q=O5#UE),F37I MT,5C"Q- HN03NHEBFAN@91YETA\IYAB;XO@%J$9GY =Z9KKT/;CSB_ZKUZ[4D&+P0&:J MV]/J0&H6\STSC8;9"9-S%)C?R>,Q]:8\SD6J/7ME23[RN1W,Y,P/PUKF<:]R")%G*$-=SP9-*%D:@F-86S@,8#!:M+O=*:'&6R&4&N( MP,O9JR<1( $IBX 'FK!8+BXQXENLGL]$BBE/8;FFZ6=*0W)]<\HS7.X90CVK M!Q20J()O!JC9+6G^/'?$XI7AC)ID[*OX14Q/#Q?>R$*?5P@2R= MA/+YLQ>,+E4[PI L]B#H_\,!J-]RN:F(7R& ?M^#1\9=E/O MAOU_[+OL+V[*7T,_36ZB(+B(8AAN.@*?*=79H%XOLU5#GA')6>!=/\V&F+)D M$I!"! EY7 @"4A I!D+,LV3 O!@XG9S^VN.T4.S8OAV>B0W':#;@-K1Q:YZ4#<1E%I XN+*#/#]3A"*%5"032^3R/BTC MQ#'$(L13E.;V0S;/W(LLNK1D8M<)W'V0FQ@W]%[LTWU,/_BAO]UO;^"^6""W M4!,V8U[M('$Y,^8590;H>F;2C_9L '8 $U9C:@_"LX#1(?0;(I2%'$0*0H0D MV&K&P7$.&6HB&D 7>4E$+,KNYAKK$QL'!5=PBA\4TY( M5M2#*HJK, /E/(JL#EG.WO9)=^AY&!X&4**!>^1EY6]BY:;#;^P(U&YQN9= M^B.'FM:OEE1$UCA/ZI+[/Q',.1M^/X MF:=MG]49(*[\D%ZF=%OGQUUI(/=M(Y-TG3CD!!#'@)D>$TP@@"GA7"TM2Z:U MS"J^=T+_3_DJB-GE.O9#U]^QM8>\7V68K:SR@?C'_79-8\AN!#I&\6'4U[5! M&M6-*F7OL(\:(']472^OJ8_=T!T3E #68J=<9A3 SQ[*._3L8A52)*,@$6I%AJ%C+ ]NE!!]',SLS$GM44 MD_!A0_ GCOO/O1^+FM1PW]KW:#&F6"WQX%+J)7"J?YDD>YB^789L)N4$U_MU MX+LK>,O(K%-CYR[]D2-19U,3$ M/NQM9^![#@DG_>;3%OW>R&&DHQFJKZ(T=D4,(5TU&.* ,N.43U!(QFOP(Y;. M,5%IA>>VC<3V7LAC0%-MU?=;NB#V>5W)37V]QK^?$>S_C:UZL;\H4@))0^23 M:I')V%YX%X^?3IWD81GR_T"QJ$Y9I(Z M;ATJ5+=$'OX-ZI7N*QXW0QS03=(:WSQ4LSYG5&W=*QQ#O\OER>75Y=WE^>U@ MAW'%IAJ4'@F3*/ A:8OWD:8W])&&>UIU/*?7"VE<=50[.\+3Z(+\4*^+!GT2 M(>]*&[6Q)$WXCK"_YF^(THB? KJ*%'P3)FL\[5G@%(8I[UZK7 AC0S(^TY\8 M3J]\[:\^.JK=1:D3B)O>'2Q1[C5#5*M0NPW5E"XS1;4J#89#M2(KD+RZSY;1 M);].@;W\$@>:#6F0!C3C;.33#SQH-I[RM;_Z-&BF3#2[FJ/<=:ZX5F$ +7!3 M^LT9X:K4& /FE+JE-5BGM$ $>$/:IQ7U%&;(H&\\,S1[PF @*+#[%QIXE^$G M1G@5!L]WT2U-TX"NUH%_+])$KS:?JI&P:W_$<&ADB@P3.W5&#HQFNIBZ_7(+ MI:5E4ER8\CTPQH"%L)+]='D.%UN=E+A.2-94),N-F$"PUDVX2"0J9,K>3=8+\W?Z#/X-9/X!0&]EIW/I].R"3FY53G<)LV?IP::R(D+#^\,_^Y1=X.TC_N6?"G#^R_[MC_%I>@5:WQAX.S6H>O@"M M:(K9O5LD-D_DFM$EG# !RM9?@;:%,+_5ZLS$>3^;6:4+G<[RA001X.A M(F/>\1#WOQ#'5;Q&'?*K+Y_49!&)9'+5X[31"/ING2\WS^;MN' A2E>UJ#[;U5X\YRGT90 M^<)U K;8C9TPD>5NHXLX^I.&)T[XQ])U8=.D:D-N$*)(PW=8HV5;=_TI(M_/ M&U#!@9ZI._F>GYO-$_@?5!T95?E(6@@(NR\;+B)9,QF)(X6<=L<.@5'Y9&)9 M-<>:3HC]6E_V(=Y52AY$86(G9Z449!7?TOC1=ZLVD1N:(77B-L6R M1)95;1"Z:*NH/9[& U&QLR,))]8WBH_CKVU7N+D'4B?MH.Y!,HRZY@A=MXO4 M/;VXC*76MVS'U%A>RB[J*'N;NJVJ+?$-%2_3^B>'N!7FR$_3)EC/@UYD<[Y'&J9_ QSLYXMA) M]#>R#21Y(ND3P D K/_E@0"1!3L$XR&JB) M]]YHC$]]!BP5!D?!(E-Q(09%IH M&MD:%3,%V&!A'(AD,3T\C:RRT"ZNUJ[WM&A9#&;+.&824IZAN0&%ZWL@QB-- M=0_G1S7-D2.2KO1]WM04R8[5Z9"CL!% !"DLX=1)9-^!+7RH5^[NDS3:4EL) MDL?=$2N\>$2R$.CIU-.JQL:-\RF.=Q]+-2/ZUF5[NI+5+/U5(QV]^N;8C0 M5_7D-752E:#U#>Z:<&S;Y=;HAM1INRJN ;ESV/36%GT$Z&W8_Y[.T4\?8%)S M&9Y"VA_'37_STX=3.97E#]A:4])]CT MH/XCS$$LAD"=NA]I>MJ8OE2O)W:WUU>_Y/#MW3"[>@?IC>\#2A[D,V-",BX+ MD71G ?G$%N1TQ.RD.QK[D7<>>DUGH%,8@HD "^BU$T )@1%U99/3.+6M[0F] M]\.P06'S"_YUTF?/%LZH^"_3IF+;I&-WI+!E:HC\>GZ'OL@W18U4Z9]7P\]> M[;SR)/W7_%F+?_^0PFXHI)KQ/1H[V8,7^N3RF04_V+F/(H^P_R;B+M/A;>AL M&Y5\?J 939]GI10/:.0I$&N2/D",1>D#:YPR^F3G)(G,=I/Z6SKQ_?TI?XM\ M9/E-'5G$P$+R1U6OSO*?AS&U<"5_2I,HRF;D><$8G"NK+,_3R'&0FZB&\, /D,01:H1KKP'%QQW"O/P=6==NF9BV^^_&PA M@12R^ABD:1G:U'^&2U$M=49;CA:9]'@9 [G*/%Y^*DM.6)Y^?O#=AX,E+*]* MF;=Z/BZK%YP+/ZG-4ZR!<@3:9H'S% M\T_JF0Q<5420@G8_HVC/.(\HS'7N6:_(B/!Q:<;6T"IW6,IG:<4X21K5@ M[_$_1$D>,%R0+].=E(U!V62/#8+_W+/Y)XUMYHT0*^G<. EMW 4.C'W)$ MT5:]G%6BI1-BW-"7?:A]&3S(,+[NQV"P**$!7#V7RSN(?"\S56Q["TNYCGW^ MM*-A4GP>@=6_Z M@_.?49Q-1Y*:"].5C9 &5[-2V17IXQ8(@ZI%T-X[M^87HBOW\[BHGVCH196. M5-,$J1LU*93MMQU^CWP_K59<\U2K1>:-]3,)G2V%?2N/)F[L[[*[R0X!> LH M S@&L:$3D$+;!%95FW2#%TJ\B6.*&S_YHZCY M5K??TM(%*>9T4?A@J[:V/<))9">Q>VS#%L0)4%^0@OXH<8[ 75YNIN-8$99( MG4E7T89YSA62O <&E?BBX12'? =TZX3-QGFC"KPD^4"F#[5G8<+]$S4SLJE_VB=H*5(<5 M6$*O7$KKC(;1EOD!^^=E>*!XA6D&((D8:88RF%I[J@\]Y(@UF'KF=S.ZUYT* MO<.*;PR%Q4FK)NO#Z^9F^_ M>K7C5^K#^RNX'9U<[--]3#_XH;_=;Z^=9YY:\6Q?=VU(OS=2Q#Y $(OW(V72JR+GU<]QE"3-CWM;.R''.CVE2W,(%?<,@BBSW#UFDWJSJ+].MWL@V/];Z(@V$3Q M9R>N>U5E0@=[I)N:IA3\78E@Q@-C78Q#)>/(G[)ZDF=>5?:GP39ZCM4XC:GG MIUT@'YAP/$=-NJ$QCGZH)@.!#@!').$V_)S*)_G7J81O]?XO]E*XV MF[HDX=VI( 7$GF;I/N[G)&8_ZA]K,B@JE"<""D8L".<<;3:6U@H36X=3>E.A MKOG4IT&#@YW>.T@Z$M2.J::$D*)!?^/D$R8C*MBG4/V4ZC^INH=S\%^@N9>1[T[YTF9&S?N^+9V0HK_W916)W_- M/1#/]30%-_5G3IYP^H0Q**_[;.[X3J*WP_5.F=Z0"8.-5'9W?E>0:+S0-6DM M#M+8 7D,MRM;.I2N;8TX=C6$-CYZYCGI%=H3%/MH/VP>6]]B[\UB>UQRN^1AZ!AXJH\99]ASBZCD0T]:UKMM9P?(]D!.T$SV#JR 3,L*!*!,UX MN +8/ X_1"%-G?B95UJHN5S0VAAI<.@IF6TCU+=$OE6@(7C_[0!1.&4KN<"] M><9F 5EL^<5Y>4'^F3H\80&LPXM[0^ZS"W-0?T."B*VSXFF7X".:1XQD&6U1 M4,76]8HI5+4Y4LL'L:O-=0R>E3Y?,TW29>C!Q=H=Q$=34>L.W9&"F:DA2C,! MS;Z89PI=53"?20CR"\(9\,O2.8O!"V%WCH=:[4^>[QCOBA>:W7HBCX(.ZJL! MH-$-L>]WD7X4MU\0X&.]VG:M':Y:ZFUK=9RKYQ\IK^7X5TA>GQKY_;'P(Z'] M5?WKQVE6E+9-4%F5 4'$\ZO#76V6=9IKI)>4UHIRWF..$5X6?"37YDQL9;(: M677[CUCVVWT I_MG\!@6WMK[4;N%RP)_\\UICU!AO0/+(P6!H M0QX\H1F$-F* &5S%'O?O,D&(*LF"Y+)P>%*E8;!5!K!%&<&&A:[WPIHAO0-$&.0E4*EL5ZZ4&_ZH%6)W;!#6.(W4X=!JV26K)A-'1R :$Y"K^1S]:*G<-DD\ M/C# Y[YZ<@\^6;RR?ICC MTY#$# .[S2!M<5[7?V9AWZK&P"BP()(CR5F2C"<>4!C-*ORX*,N7X3PZ?L G MH?O0HW"KTT\0P,=U'+F4>LD%BR$P3I)9I_Z$K;8]Z,>*0;Y>Y MQYDOIRP>&W/:1;A;N\0QDK+RGO::X\%QK>OI8O.&[F0&QM5&)S:;VB./S595 MU=BL;8PX-MME[I$7.\NFRD(216R.IZR,3?$PR>99Y#J]#),TYF])3IS$3VYW M,76\5:AN7M45 NS0'7G<=C5$^7Q3KR_BJ.ZL@OE!XCHE!:<%X;R(8 9IV$I; MG+:N7TUFCEQ;/V1@1!.&"+"SV[^PX$#O:QZB.+VC\18,\AOU[Q]2ZBWA&?T] MO902@R%6[*,[?UO[SJ8[&>1P86J8TKN;CC00PX>Q*J9QPQF^882W!%@N2,:4 M2*XD8\MQ9$$@]P,!UI;>_DYMH-P>CK1'&6#8O"HI3+C.=@P2-,A3M;\A7RWV MV0UL(($<<4P,TK8;6- MNFZ\=X*+*+Z#"H+\2?W=@Q->AFZTI?RSUNH>^@20^W9W8QP\6=#LC=C_#93H M\>P 6/&4F)PP$;DK4L:."'[B<_O%0:8RB32 \T1VSK/E/%1<;>I=^(%1FO3JC&\I$]'Z& M?8(0-OUN]^O$]VIC3KL3TL#KIG26#:N]!_*L6!T4,%X>E6NZRI6B)QF3^YPS M23+6TZ:^FL &&0M2\" Y$WN9L*;4O.IW'JY^P);&ONO H\HH\5F?9YZ4L]L )SKH:LS <0P9F:,O$Y I][(X.[HQ+<>")_MI1F>)=)0 H1 M2"8#>049 +]8GMU\\9K$JD 3I]^?UDJ-)BEQM)@D<&J;G-V4/<#B*Y9]DK)5 M9"PU;UECU;=&BI"::I8>M50W1;RZ:I/8&."B,(T=-\U"5]X;S-A9FLI,IK57 MTMK-M!YL&I,QRA2 *Y"Y;>LG+YK=D 9D5\6SB8I.'^33DTXJF'KOAVSI=1R\ M%Z7@G73.,8GJ;1I;G%],J_^ P#7,)(-O*VMOY-:W1HIIFFH>U?N8U19NF\3] MCASP;-^.JJ?-9.%.0!/(,/7D^@F<&EV+$Y[F6&SOA3PF-=4NW4QL[H(X1G4E M-[YW"/1%GC7.@9?4DCPLA^W8JO."6F^*@EKR?'3J/4VH.;3:;'[STX>'*/#\ M\)ZINMPP\USN(O.-C3:R2(-\:,-UW!5MI(E\,3*HB@,<%L608BWASY]@F_1P MU]!1=PU+6V<)"2E?\'PN9.01ZH"4Y/)ZA7)[=5S#ZF^Z)I#$FC!)B"(*Q_5E M9C^TV[$CV_!PDS;SM#I7J%,IC_A"44B M"UT5Q:M\?O-L 53^=AW^/?P0GMV%O[#_W/X-;M-MG73!;]71)V>[@ZGAWZ[? M_OV[#V^_.?O;(="+.MB,S09D@Z):LF06H^ _4JBNE3XD(KEO^N"SIC0DGO,\ M\:V!\7\CA0,1++@);YJ.B<9'XFGUYJX)6E=@[ROF;. 7B=&SG%YS[IL\&'J, M524BB.'7W"A=9\\%!>0 W4.A'MD ,I0L;E,U3HI?L9AY?1@T"HQ[^YA/5QCF M[G@DXYP6#VC#+I/@@BW>V>Z0IF'X6B*N>,K4\/J1X5'?FUHE&O,'UV.3=,36 M@L#+@-8*?4Q=OR#U0B]N#6BK+G>W"K9H$71(R^"YP<4/EDZCA)F,J[X+4@#MHO#166M->\2'.5IB]SMU!>KR.(?37Y"<@\7#UW%U+G8Q@HH* M9STNA?!$]M@N4\?HMA/GR_#&QKP;^^BI?=(V<@C[Y0ZVYWC MWX>'+[4'(XHTFH/JA.# !KX1*@(X?\FVZ2!ZRP/GBU$\D1U.]2*I %"L,79"J\PHJUS?'K(;, M.;6-D8:JGI+J>JFZ)>*54HO WAK,0J;Y\O1'26N:@JV:#1'ZH*ZBC:,&%=' M%3]F,VH<)(F@^B5K#3=?B!=MV3!%MG2[AE=@ M'F4R"&YP>!_%; H6/A.>48=1AS6"D,'V(#;<+U$SD%W9*I8SH<+L1Y4[,P@& M;"G)"0V9#Z;P ,8/]VS^)#>-HC!9KA-^[:5MZ.A$"2G.#F">RGF /IDY3!(, MM!D )B17\DKR?;T@!6M2\&83#,E]' C12/]MPU)9+@78C,Z3Q2CG<\5B"$'] M92ELC9UJK-K:"3FHZ"E=?DC?U ,Q5&@*WM?7F]#!5NQ/I#J..,ZR%74+Y/9> MR"-94^URC8_&+HAC65?RWAFO,$;S9,I#/*\%T>%VT&_9*GN?B+2GXCENU;Y< M;#753_Y'F* .E/*I6"S4HU8D TH V-X8ZS.KW1CSB&BAA&A Y*W7T M!6[\/G<(E2 XIP6\J'&MO4VW8A$ /U35M'X-BSOFS 1R#E('"O6MD2- BYIJ MN-]F/$V*\XSN+N;20 =W]+/SA/_G:_E5\U'7]V(X,4 M;_H:YN@J10<:R+<6>JDT3%F#K2!.=H*Z3*7@,S39[0+?Y1!!HW*F8:-!!"#7&:D[(!]2>C& 7*N8\?D4;+I[+QZ1![>;$2*SAG-"Y+&,=H#( MZ>=H!$3V8\I&E Y;$#4=9H&L3HV=5Z]D@9*/PUK8*XBJ\M 6&HYBH!'B@ M+V.!:ND_BM85BWSXJ:=8Y /B2J6:]"XWFP-:52AVA%%*F[D@4Y7(?9?) E9F M.BD;TB 'LZ8"@BPBS@CZJ3,C@3/CX0J;W>EH)YK-"5<4Q6IQA;69&ZZH(O=> M[;T(8!G"(M7 \)+$ + /J=P LADNN,2^?EF__+=,+ZM'8"?C]6<@.V+1] M-BQEI%@W@OG:[[%V(HOX>LN0VHU_\]5)B12%Y+(<=D)Y/W9:@Q:V.1RZ(/%\ MG]NSE3.HZQB>SC"2OA.T;>8WM46*+UHJ9A.JVH;(9U7M.1-&/+MKG/>8(365U6P%*-)\K3!U(/U Z MT&J0LE%R8FS%F^!(EO!!A$IC*'WP\R)ZR:\4\*V9=+9T08I>711N?,"OM$>\ MU-(2N_?K=0C:4@'JG^.*U.#3K(6FT1@"-R@(VPO<:Z;)1V=+&Q)N'C1!'IA5 M"JF!J'Z/./ JQ30>,U@_ M2LOU6_=1^HMP_H:G/[X,3TA(GGG2K)HY=QS%04 MY99.GHLVU\XS?+;\[,1>51;G,>@C=_3!35DJP3X4<<0A-KR.QGM?4A+8;.!\ MWL#G'E&E(:HX9/U<:BA%(EPF^_FI MYPJ' W+VAY:V(*Z+X:N:?,^#$D;NWL,9KS2*]*:*.) &5,YXW- 8*UJ&BBM; M&9/1F?'DR(PSQ++S?^YYQ99,)K;MT]..%JQQ/<_,Q(P(OVRGUE"^Q? M*BX:_A"#H&='WB\18TU-8 V)%T2(3!29B2B8ES*IB10;ML8U\D:.L';D'HC\':![2E$?8.P1Q M[. ZJ(XVT3.7R)6GD_D$<$" ACT($0AWW M@3PSWA,G5<9I/\Z3'"_>2V/'B1P[9+OR'HCX?RD@*22$/PG(./TE$J2V7H8A M#">9(Q:^:G]PD3JOPH][*(JVVC!9?;:,29S8I\EJPUR=A^A('G>$#+C$YLW)K>P8_0V;$&I M=VR%YH?<%*O-^7871%QQ*&&A?G/CWS^D=]'Y$QMY_83*#;.3YVLG3GW7WS$+ M5)A\+#Z(A[1139M?2Q^#"?*!:UR=AUI$%:1)#.SA80Z5 I!(2$!YDI-?'$>I9&O54O=E2U52":JXY2_O4WM>?:"9/(3J8"R7"&@ ^%*S.RVDJ5?2CW\]J(@<.($ M1@RQ/+=]#CZ8'?ESH4E^L8S37PK=2^8=#\$YF[\,2I>UQ8G$%I_A832VQDTB M]+>O1C1/MJ:['^;"U;#G0_ $[D/D^1O?Y5TN0S?F'9Q I70:)>E-7H=IR.U+ M4P&0CC3V?HS>9TA&W)%ORUDRAOE!,J%/+DWX\1%/O0SS^D>8\F:?;+E0#$;X M@1&)'OE-V*J6HH&_W5+/9Y/GX)FLZ2:"Q'@Y&5?FXE)*K'G[F%>K?K"3&V-F M/]@ \PS^"/E#Z>=09"]3!>E)(?Z,3JGL_#RJ(4NGK2X8$KP^]LH^_UQQKP7U MJ/QWFMY%)]3ZX%PEQU]\C*[]::8(W6"3N0W M;W@ODV2_%?L(-W[RQT5,:59H&7*H?6#Z;O?;H3=%NK-'.N+;^B$&V13NR/LE M[A2;FL#B\%"PSVU:>^I?)SCYCQN/-!LS(\SSR MR@Z"VX)L!2_RRDF(TRLG[4S@W]:/^B_ '_8"AR[3OS+$SQ#;7RBD3X#E+QBS M9=$]:^-QSOZOCN '/\2T4W;!^Z^,YXEWJ:M)>R_FO!/K-YA\-[ZO9_E6@OD5[A"B?24P*D5_* M['VD'R.WV&-.]T4C]H2[[&T"_ N_I]II;^3^UT;S&>RVUX'Z2]IN'_?'J0#Y M%[[#7F//Z?9KV@3X%_A/M6?3R/TO#O[X]VT:P/_%;-R,^^-4@_]?8:_FS'_T M/1IZ4^_4'/#]*T)]E>E'1WB5Z5\-V"MUQXSGF< O;7]FT!\B-]*S3P,/%UJO MVPVW[F(XR$3SMNF7&HOA'/!Y5&,/DAR^E1MV1!Y7:10GU"!,9I>'PY MYN4;]%SUU>;7T*-Q\.R'][Q'L@KS-"O5^]PV^".%5VL_1>^'8R;,7^J#L5ZV M,(6&.WC")7=/>4*(-SP_D.'KSDCUH(F]:Y3N#NV?J< MM61H[NQV7 7>W/,3-X@ V 5-LHM]%[[R7LQ*S_7 $-HGD=& M&4O9;UP(+SHGD".ZR.AEZ8!B?K_0Q='SR7UAV22W+ \&>>U(A@*/KD0YS!@L M%YC-L;ORF,(&_W^-W<>'%),S_]?8/>!N.!^[Y>;WO\9N]#^7S;';QOG2_'ZA M <;N["SJI>3Q[/#*?NB=Z6ZLD0[O-GZ 00ZG.O#%OALZE?HS2OXQLT.J*7^- MQAQ=,T1P.9*N]FF2.J''AK(;-C!=1#%\.?0/U<;LI:*TEI&'3,EDE(K&> MPA@FY8J(Y'<0DD@I_^_,X'9F+ %6AU?B_1,[GKP.E9=..A**" MR5\#0 ]T18:="UD2<130%#M=YZ$W$7 .9&IU:'%2 M>HY X%)(@=/=.]L-IM MZL3IK.VVIO=^R%/Q:5IO/D,1&YTWU$_W3(NL7,!(OU(UIQ<^'#68=\@!J8+- M"QZ2FK3%,"@I\A7E5H8%V/?"RB&]AS.7,<%U#&-+FOV+B.# T/.GG1_S/F-C M:#6G%XZA#>8=$D,KV+Q@#&W2%@.&*O+-'T/',#:G^7(0E!>_==8!'75#I(K/ MBT?/&M,.BYT'3%XT#,K%.$Z1H?-D/D Z2>:0,'9 MT,M?@D3PT50;SAW8OW#8[?I##(G&NKQ?,$AW-@$&[!9"$R9?\3 MC?C'T^UT MCP[LD_TTTIQ13*AB32BF\C*P7K'80:5Q.=+1Z]AW*9S!;J:ZMJ$OR O'?_,? M9Z2#2DTI7O"8T,,8&$:'T@"0*4"RK,29"H3K0'Y?KA/^=G?^=TBF^JURDSK2 MI#0S*3Q8.,K/\>+&";N_Y+]&A(.?P<(P\"_LGRW@OXA++Z/^,AI78=I?WLST M5LR4AJV_*S.KATU)BW7Y([+\-&>,<750">8^M@[_.,KSD MP<'4%"@&A\J;J2]U<)CZEU)OM;ZPH4&8R?+ T$V(ES\L&/PH P\*'21XV4." MB2&0# A2]+_"<##EKY11F^%PH'^YV<*1O#[WN0\ P_X,([V8>*F0/[ %,!S) MEUY7S!/BD?PJ&H\Q7A+@MU]ZMC .]!;JA0\/P_QHT[[L^(L.)@,9!L,8H_\* MY$4.0)9_R99'(X@+*QR8Y89N'1_N82E5G* L5'8Q_.#GLR,!T@'$XL\Q5'F% MCNQ?>($%4VL8YZJ,B$/_[^]:^N-&\?2?X68ETUCG PR"RP&B\4"Y;*= MN-NQ#=O);",/#5EBN3A12=6Z./'\^B6INTJB*(HBC\H!!CU.B3PW\CN'U\.% M/1IKL;4D+N"P/ZS?R)]@UO[%TSZS:G_M>Y(D1QXX)C2/SL"A(,81!XXIUH 0 M.,1;0L<6.&RTEL16T=(#Q^A%3]/Q1*N 1QYF]#>FSNBC3[HC#DHS& E"K)JP MM71L@0Q0"P]L.:G'MEFVF59/3Q'/F'Q)S4""F+C\H=49MY6&.0(-* ;-K6O; M:(#=D6\3R6K_JK>%YC:2SH!7RHI*8;/GKY>\YS-W U1&(Z71^.O6RSU^5POK M3:/-=(A%Q ]HL#)FZID2FS6909^;S*HS!,_;F$VTG.\R#Z;-9W?YU&0+7N*J MK>(US6=@"^20X1*<\*S&GFE#H\4-NAN>5VD(?KBQ/0''#\,TO/RE%-N.>$(< M&U[YZIE@6#OPW2_/$MRXS:8R>_>D1QCH0<"J32#$"/EM@=[UE&4.Z>TUG]PU MDP5'F8-, 0]AXOA& HHDZR./'6,:8(:+[4*^1QP11JD/P?EW9B\Y"N]NI"ER M7N5C(32,]BV?0_+L$^9?UV'PS*-7:X.&"G$1KW/8QP7L+5#[.&4/4-#W3\^;USP>=M:\&'C5;# M@PV&-/"H'V&CV#@)W6]Y";2GXEBX2;(,FU=R](?3TSR<=D33,G)6*>DA!LZ% M-H^HCQWH%'84C/H MSV #/0;/N3 YU@(05B&_C#I$LLP%1U/M8N21 CWN_GRW]\,7C.]Q]$QJ. MW@ACP&[>K/[*JS"YE"@7$_5Y_?I.4B;L23,J4#'1"TY0)>@)XJ(64<".5U]& M,WP.HI(P@0MB;Z+/&!CL(?0TL18I[V M*288;ZM'6$KJ:%]9-A6&E 7>+3W_,R7)RV40)Q%?WXYODBV.'K9.T#[Q<4>G M0-3LK))HKF=2".#APDZC:+EYJB0!X'!AR1 65XDRP5%-Z3?PTU&-D9?F4HHUVF>FT<2D61A35=9D=HCB0A?2N)+1A9G$P9LF.EMKPU+ M_C^#0K,I#,>#C/GK#@4M&RPP"EB^;;2(YOE%3DYC+?V ?M7&X*[&\),!&[R?I4!N,<$\.-OOOM#]B_2@_?;P7X3KZZP'BT?EY_ M\S1O?1ZQMY?/Y !B(V:DE*\V:DQJ5L-+=V-$?)719YJEX$>HA2:F.Z*V7D36 M.LOV!MP5?D:Z23=8+,OU,Z:!O_LR5R [ZOVN^5MVVE88P)1\KZ=!%I3';Y9& MX<8O\]G#&WR,E^_5CD 4F]+,,&2D<*]R+*)J(_@#DDRS^GL@X"_M'D4+F6[AVLF7UQ'. M\OW?E/8+>+%LI'"O-I"I-*+14S52DKW*$*9D(/CQJZ;6:PU=1EMVCN3MEI/G M\?^P>$R"ISMFOY@. ESZE5I0U)@S\%I"8)G+Q%K2X(D807?[L^EKT8MG24US M 5$F(<]PD\CM%UR*H,)T%F?95B MYN&<;#H#B(:_:"3]9CO!^19RD?\[QDGBXX,SZT>0$ZVBE%5J#Y5[FM*F/,"] MM_6F,I,T,[I&/9C#%ZPUC_@E9)$I''-.'/%B4ANG78BUW6;^U9 M,U"ZPQ'S'/]MS\&T]MJR!%DW&^Y3XYOJ;/Z 9U$@ ]REJ!JF[DO&T@#L1)15 MF7SUM-@%/\@'6^-Z@LZ(G[+2,_L2B155XY;*S?'F# ?AC@3,4_P"U:-Y&5Y;/U"US8H%S(8#L)N0F\;A/8V#M8!0GAXI!G?(_=-"()P?'Y M#[;\A+T+"A*V3Y)FCUT?+A_+;2QH8@+I$^AS'5T9]N7Y@:/]3(_GC1KAP3U47[>/%KK[]1VT1WOI&[:LRZ6(\YFH7 MID'?9HXNVL?M*YLFU.@H,\+'ZR5;^EG&\PG*Y%FD=]1DRFK!W*'RO"VM&I<2 MV7-T-WNV1TZ5OL)4UO,?[+QLWVI/7UG@CDBH8MVQ=!8$["C$\JKVUI(JXF1/ M4$[8UH;O/%K>L:N%/L(9N1BE@<<@6NKN,V9@0.0/W'AJ-1)']]R4X$,H5ZW$A=4I'XT0.S*/F1DHR1^%(#K4QZ$H8\Z4X M$WV&HCC_SP6XDPMJ;RW>I$[H6)S)@7&4?$E)Y1AL;>*8YQ()@)2 M) KP?KQ]I MN*N!8[03R &'Y51#U0&I2@LP%">KI'X(0@UX5S.?>I685EBSV3U^XMEG+X-- M&.WXP3&+^8OR>\YW>!]&/.]++EZ?CQ%6 .Y%AI5M)!KJ+0W8$T@(/?T08E02 M1W%.W6(/INV>[4)D0.TSS&$QZ+VU1[%&'VV5@=PS^T153P'7"BN6DE/IUHL2 M?)M31$ZG8@;GD.ECC/],J2CG-%HFPIEA=U'@(!,IV)C%=90###:AN,H#EY(H MXE3MSY]::@[-CP3%E]5-A?.;OK++Z:X:Q]H'77;NF9*$^TZ+1-%/6;R+;WJLR272[N?0I0NO8B M/5*O&89]ST'5Q7F9?@WT^Y.:^YCQ(KZRS]!O"OYL53:6H;TS)AX_-Q(&0+W$ M&7Y,JF>;+QQ7G#M$4!RX'QA2M [\OK* D3XHLFI_9H1K#YRS1RU=;#6IQIRJ M4H+LB7)$>,IF*+"\#*A1<)S<.0F^IQ-S[ T^_CV*P**@*V.,?C"+:B\&WE)* M: -\P0TQ=BUJ9>)")TPN/R%[;Y9C"UA@+L/NXW46#2P(@E@-VC9 M().>7>IXYQG5)&>/:M;+Y=)G3SF?H$R!FK_N>MWY!&5JL$LNF2)\Q)6I@K@N M10[#*JNAI;WG9;;D^0\Z%"0L_5%$7(OC-V7S\?]\H0-0$CQE%NI=M=7+XEB= MOL"@6EQY!_UC=- B-2VZ7?Y_*)%:;#?&)D^#J4':?3405H'?1064;7;6W M-.0N.RRT<2*"XVNG!\]MI*J M"+Q+RRM?[]K#M0!W\1'"JR][UQ]WYYV^SH?EF^-',RDO>_V^R+WP$*Y<.LN, M<+%8?QG4A5T%7@G8OO&&(BG@V)ABH#I:5.@ QL\D==01]4PY\"$/"1I@L@>@ MM>_$\, MK*4++K/I%P[IIWS#9;6C4VK7"<[P/HQ)XD39K#[^A-E!T9:>4A6 PDI>V>*> MB[@T\)LNDL*KOW"$"@[(*UEDAXK1F]79_2^(Q,A!G]_=OT->Z/M.]-;#0;@C M 3^!@;/MA:P\>]P';<((DZ<@7Q:CH[>]$[P@Y]DA/K]N3[^C\H@F.Y)8DR#F MV, _Z,?@"9N]3C.WH0L=*_K%Z?:O&0O#OLZDSNV>97.H$>YV8<"=<*=K%)4# MZA$'56N,,]J%( \S>F55CL*<8A&#K>!N/N5N(H]Z93 8XR.>E03(6@47@;(N MY0YA5B\%'F>=PDX$6C;J78& FE[],L5 8.Q4%F.G"\38J13&3I>$L;:P6C!V M"@=CVO3+%%/%6%R +,;NNZ?P^6\>)AF^Z!]M6-&?_EAY'C5-_$#)=BY"]94! M"B:A2@Q'G04 0D@LI_+D)*.(&$E+RTT6%9L-1*=I3 +*?AT&B>,FG:%)5 XP MF(2J%8#J+ 045&)95?M?017E9"T%)G,*:AL$QE%2&P#2?[4!1G^B@3:(0Y]X M;/GM/$CXT]F=X6JP,%"HR2G)\"8N"1!TD@*K#P@KTJB@;2FV@5+5W+3LBQ,1 MMLQ=[.1RT5YN([)SHI=3'. -<0G]4SAE&TT$*)*G&:4^U1M' 2#R)RJB?-XV M9U?=G\T8HIPCJK&T/($T;9G+V9_,U7/+F:Y_P MRFE:MNQ9H3*%/CL5G^2O$"\;G/]AU2BP$GFQ=X& <98(Z0*4J @;M M./E5NWK.A2?<;O)!.2/+Z#9K!I:(VVF: 6>,+!YJNL,QIHAA./[2PC%,N*$@;4VP@7P/K* D>Q4,4Z=#L+ L:K6%[E+%W9;::2 MK.5U+AJ_E=)<$CD*!>G4,=A0#C$"1M,H;8CE-$!=TYE?0 M'N!6GD?8$K;CWSK$NPS6SIXDCB^$WE =X""44KD.1V$%P,"4DWO"Z>*<.F+D MT66 <@:6X6I,[3TE_Y8$R,T8V%R18J<%L'?N1.S,@'@'J+<;2"+8^N(^L !.]H4C9@K6QDPK,?KH ,"65+O!B^4GURP')>MF"/DYG ; MYGCC\R1RA/.TN:3,DWK=4I(XBK W/.D5UP#N#R34;:XA]Q8'C'D9J=57CAEM MM$(E=1#38],J6\]I$;"GG+)W%.](_.T4!^Z6+6>+$]8-5P..7UG%F\>RQ'4 M(UE:] DWERH&B'% )0O;:>] ZFX1X[VI .1J+ W9W6D")(HO"<\:;]IW=&>+ MV00@:JQ\H^J!?L-9JMHPZK]'U5,,*/"&%"ON3'65 7Y32BBR^DH6G;W%_,TJ M3A^5#,S>@)I%N99&%B\[F5#/;(Z$F^\!57A+]KV)$0Y+ /49 G6*% BMSP"# ML4A*Y6R'!3V+"0[,ZZ0<4.]92MVM0SXZP?\1^N_ ,7N@2B-;0O$1, (/953.!X!NT8WES3>-VMS>6 R#Z6., M_TS9A;)G^I_!Y791>> &E2U$>OZ"@,&V+#,RFZ]I(PX:0B+[%"TM895\8&5 MGK++PJC@D$I7P>5@4]>4L]U3+1](F5M)EH?$<++?VRCT4C=A3T#>X^B9N()< MOZ*R0($GI6*QS-U;$"#PY.15[9,%97Z9N*!M<1G<@*:.C*8F[T\]XR@A,0F> M!NY,'98#BL5!U9IWHUJ% &)P6%;URT E1=N'JV?5S7KFK1S^E5_A)\B%B!NH M AQ\,@HW'L06E <,22FQ)\:,>G#,;T?8Q>JL2F<*3@!LYZ;Q%Q(EJ>-?)G@7 M7X31%7G&]Z%+'/\+\7#(GGQ* Y)T)[-7J0\4G!$ MF"W[.1,+$287?V389W=^8BX:_4IE8]>!,N',;@F;M5C.#7%VB/)#C"'*."+. M$I4\+>[^+M$J\T[V[_$3 ]X''#Y%SGY+7,?OG>R+R@+UHE(J%I/]WH( 1S5R M\JK?A>*449VTQ;G^?(I**:C\;IT;ID$2O60HS/_1!F'^\Q]<[H:_JG\ "J]# MX?GHH_P5(' ZA%/M/)_1UWO304RC]/?*+PE/ZNCKZQZ=^ ?@';T2OM[1U]> M.WI-..4;..CKM:6.KD'ZV[NUMLGIFHM%<,SGO@];)_@<.W1VO=Z2P.F=DLK5 M@MKUQZE=3#\EJ@"?=([18/:IIEL(DV>92*@XB+IPODG!)3([OS1AG))'OI3V MP'6.';[*QAE9G$J:, G;3/_0!HGX8ZE3VG=[A2_^S)8"ZBG&ZEVXYZRN K MX<%8R95!G--''==X+;\>8TISMZ%Y1#GH6RS'@1=*XE.F/%!D2JM:+GZ+"@,? M=\C)KKPHR:EW]$G#Z],FE 3C/D5Y\]<2Z(L4$%'\08H3+XVLY#:M .5E.1LNE0 M?(==3)[9B]I#F4?[B@,'])"BK;RBG64!PW90Y EI,CEA5%&V?8IM=E6CDK+% M*7PAS:WS(@W+=MF%8+)3Q2Y -@HN (W=\D[NGSE9(#B<2+Z_&<=FV :NU8Q7RJ#BHW M80-NMW>"_M.?[>] (=2K2K5]5OL(?,&J6];9M\1RMFAE>N=+I[:%$C8WLN;0 M1^ELB0CQIT.0/UT0YD^%H#]=$NK;PAJ#_:D5V.M2M]3"/O*UJZ0;^NLAZ*\7 M!/VU$/KK)4&_+:PQZ*^M0%^7NJ46]J&O727=T#\;@O[9@J!_)H3^V9*@WQ9V M:LNSX=P?;X@7)\+<7V^)%RWA9W:<$[+:P M4SO.1ZO(7I@V,LC6KI)N9%\.(?MR0-<6D7VPK210;9V ME70C^]XA!.4 'BV5$E?YM+/OHXJHI1.E M$#0T!;[U]>]]VF>?H(.KID #3/1WR."IBZ>>S.@:??W=%CAT:'#W2>F(E9X+ M1;=1R [EO-Q2X5E>X?,_4[+?R3RD)%<3*'(4U&_ES!ZJ!A!W*M(K9^G*>2#. MA*?X*=E >'S)I U.>YC-XG"@+@E*Y8N/-PDWYVH^\+@ MB&I X3Q6\6).*E,'^$QUE JJ/?DR05'_J4[G,4P3A$M!$"Z1SKI\G,MB]I2G M$;M43&K>C3\:D/.Q.$,V;8#N1I_3KXUQ9@OU8-)N:ZF^2E<_+#M?&F./>B?N MI-P(/=.$^.3?^:'T\#N.$ YP]&0XJ_^,]NAR3*!\T8P. MR-YLZF:S(2X6.ZBALD =E)2*]3E29T' LR*QO*K],Z-J'81&E&R. #9I%) D M51L"Z('C%[PEKH]C(0X/"@$'8+=2=>0U2P"&7(^@ZDGS,G*6,:99JT\A10=Z MSHG: ],5IN)L0]^[W.VC\!DSH(N1):X!'&82ZM8Q)R@.&( R4JOVVY(VJA.W MC$TS"I,:<8OIOL,@3J+499.R? O* P:ME-CJ M!R$JXN@R0 5YV\F]C>E,*IW-9AF[H\)WK\\??@4*Q!XUBMQAM4\ X=4GH?*V M+J-E"38SZ:+[S70I7'QR?I!=NNM%1OL[8&QTJE*@H_$1*#ZZ952>V634+&)D M%GTLKG^<1'QVH[,@4. ,*]=8^S@H!1!*$L(JKX'D)!&C:?F,A37U ME#<9;R/\[!!:ZNF4LKO"@4?_9*QN-K4 M2@,YH(#49:AB-W,*+> ;GEI44\7*PY;$:,=IU4]O].?CVI?2(D8!^9F\*&)8 M8\^A_Q?:<0&10_\7!&%*^XB''E_X9FNFT'_$B*F$PDW^I-N;O]R>WJS_\HO9 MG56KAJ^8(\8=Y>PSGW6SR2V5&^JF,!25 F5B6-RHM6LWVE%X9SM!88#1"W8. M$LT87#V+L$>2"\>EUDA>A*.IGJ) W;>,@HU5LHYR@,=40G&55X@X4510M3RN MLJJBP0TG$E"WD\DEWF?J*@@.]*O M7Z[7)@>=MGE,753ZZ;]Z9RB]!8'"9UBY8E;170KX?&% :.7EV^[1?W9NVV<8 MH\-U-^N+#AO_940H:0P[Z\1_] M&0OZBP)V*D,*EED,>LH!=RR#8FMV+9'F%G- MAI_YAS8_<[\-H^0!1[O!P?]P:<#>1D+-PN$(B@+W.3*2&UO;C)DP;RED=FUO M])V]+TOKI!&;]J9[5OK]W_.53K.^:4Z+<=J($4<@9E5SZWO@IVH]X#&,HO [ M[1E*1WRZ9UQA\"3MMX2% ;NM827+V5=O2>!.2T)P8S[+I[)(N"QG0\O8"&.WS^8X^#6/P(L4P] MH!YOM.J-VV]#E0 OY,K+KGQAC'% )0N4\4 Y$]MWY RI'Y;J$\[#'KA/'9_= MC+[?8IQ<,38T%@EW/(45@,-Y6-DZCOM+ P:PA-"J73[F?B5>!QYU$EB0ON2+.(QL6D)Z[K&H4@ )U@CF*ZD$;PA)F$,=',96-7V=#KK/G , L9.V=.&;QR\D$1#B7D-__#GF0 MRS+EL5VF4DJS$Q33QLOY%6.9F*<#R@)^SA/5F%J@.' L#RE:QW!?6<#8'119.=%AMA!!*:.2M.7)#0Q=S6&4"H#CA+CK, V2 MZ$48=/O* D>G4,4Z-#L+ L:E6%[5CEI013E9R\%S'B4_O[L_F!BIY[_/1,M ME__C(/M]]O,?'W]K3P[J'X BZ5!X/O4O?P6(D0[A5/O*1_3U-],S1HW2LWV] MW^A_K'3WWPZ>>JA_ -[=?_N]J[O_!O*1AT/A5#O,;Q8>>- G_=IYV3F!QA-R M5(RM0];;U,?K,$SPM\OJ!,$#=K=!Z(=/+^OPW57BO1.#8E,\J(DD85 M;5LOT@'25-FG?"1/VU7@7>/OE3,\#ZC.^XC$@MU]V7J ?WL!AXG;!<" MZA?%2C6>'&R4 +C@,R"H\F$D6@\Q>K8?##2MEO(0@P8"JOV6LF%,>D<4/<6 M F5(L6*\T%4&^/! */*$T4!.%.TI";.1>FZ-.'CL!6$3ZIV@#U&8[NV%V?NM M$V&6!,Y;ASMV8H]WWU44L530_&6#TY>JS*WSPA\8_.Y$'O_/ Y6/CB"D@O5, MK(!Z,A,&K@\/@QJ[H3EG$CS)-!>J@N%JK+A4Y?4+U@+AOB+Q MD3F481%(<[/WS>CD-S.9]O'5H3J5MC?\=+QHTTVV*E#OI6* VM::5#W@X[71 M:DSR&F\?N3/8Y\[ J7BA)_HGOS\8T?EZ[;<8;H01BK'O(S?;E$-!RJ^HAQL4,P%BY"1L#&ITJ Y0USM*Y?H(4%@!\%!.3F[U"5=!'65] MF=-'=^@>?;9\PM28XKF#3QD#;>.CS,VP(1W[T#L6ZBD&%'Q#BA5CG*XRP,!9A\];X2M4LNM>TX=K9&PW,HEZ[Q0P_!T9[CO YL-9WH/ZD5Y7R M.;#Z1X!!NE]&U7Z54[/Y'-@<^M@;&Z_H[- C?IJ09WR/798MC.!X<#E6HAI0 M4(U5O#Y('JH#$(*C15>^NE]C@"H.$-8?;>E^,M/F[3V.*/5U&#S341)ACZ=A M#^,=>_/LEI_#B>BD@(_:^Q<9QY, BNIU6.;0/XYB].YW1 MBOE[!8'':^PR:3:89<#$\3OT0&<86:VM$W<5R4ZTL:6[,$UBXF$^*:&D$VIT MKA:;H\1QBB/#"Y>FFS-OKGHC5"Q1R3/;B+)YTLV695;UGLCI:_;MIQJ<^S@: MX+V[@DF:[GT$@47X=Q5]9G;PIS\=O+J#-]F>97LMQ<=;,<[<3O[63W6,XL?3 M@>_LU4S3H\8;M\&]9!M$?/ M[/#7.A;OCVO(KV"2UO+]D0WU5?29V=>O?WKZ"0OX%E;P%S.VMV*">O8)*FDQ]!8!%.7D6?F9W\V4\GK^[D3;9GV5Y+7G1U!8AJ-746AN3_]SZ6:2KS?9I$63O5^.M[=A'DU+-WK.5I_O M]G[X@C&_H"6X]2U3'JC/EU:U?HRZMS#@\]/#,BLG(L@IYS<,K=X.GE_;['*T M]2O!9_@QN0SB).*A>_"Z@Z X<& .*=IX2::G+&!8#HJL/H1Z3%!%&<(U!E.Z MSG5MH38@K'[>:5K>OX/W^KY+FB?]$?BY]R*O_[_U!+ P04 " !;@8]1_&N#NL]C M "!;P< % &-T:RTR,#(P,3(S,5]P&UL[;U9.X@3&(7__.7XUZ-?>B#THQ$,)__\ M)4L^>(D/X2__ZW_^M__G'__OAP__=?7\T!M%?C8#8=KS8^"E8-3[ =-I[S6: MS[VP]P7$,0R"WE4,1Q/0ZUW^>O;K^5G_\M?^>?_DN/?A0]G2E9>@FE'8RYOL M_WJ\_,MUV6H4_KUWW/]X_.EC_ZA_U+OX^Z?SOY]\ZCU]69;\@KHYAORB 0R_ M_QW_SQOZ: \)'";Y/__YRS1-YW__^/''CQ^__GR+@U^C>(*:.#KY6)7^I2R. M_PH9Y6&8I%[HK\IOM?_C)"]]?'EY^3'_Z[)H DD%4;/''__KR\.+/P4S[\/: M!Q+X]R3_Y4/D>VF.&U>.'K4$_M>'JM@'_*L/Q_T/)\>__DQ&OR#M]7K_B*, M/(-Q+^_VW]/%'/SSEP3.Y@'N3?Z[:0S&__S%3[]_P <]XOJ__VF9$KUWT$X MN@U3F"[NPW$4S_+._]+#S7]]OJ])X4=1"KZC_\P^XC]_%&LI5Z@0JA];2O:2 M(H[BCEQ'X0B$B,OHAR0*X AS]\H+,%8O4P#21$Q J0:ME//)BU&Y*4BA[P7* MA=YHW18-+/^:#,?#.8AS(BJ!G-:RW9(K)X'09VS4R74TF\=@BLK =_ 0)G43!"R[';/S,TNRE7#^M35NK&2Z9W M0?1#_>A9-;P[N6]@X@=1DL5@&$^\$/Z56S.TEGF*8>C#N1<,_!2^PQ0"08'E M6C0AZ4LVFWGQ8CA^@9,0+==]#ZW>?#_*T/(MG#PA;/P&THJV:D+BLA_),_ ! M?/?> O (4ED!*8V8D. QJ 'Z+W!H)$AE6C8R,R!.U.NA,/)?8@DR!3K+&D*;M8V8S/0M_-3.KRF1IJ4.:WAMF)"(D3K?$< MXKQ7LJ)L53#/#'7E]AW]C_SB=J.ZO>MVO>MWL^MXL3Z^XK6Y)OFKMJW9Q303EMF4K3N: M9J+*M&S1[J:IL,S&+-KI-!RD[,:LWO4T'JERS=NQ2V@F++T=>];;38G+:LN" MM7"AJU1KC<_;J")7W)I,83')3-1R7 M0FA5%.^;]FH+3\>QYR]-C&XK1_Z8O?IY0<8"FXHO7OP=X#]4&PBMBN)_U5Z- M(9!]@'$N5PK/,/FNG5:,+]JKJ;LH!NCOQ1;47^!N:]43ZWOV:@D?K=5^'TQ*.;L 8H)]'3XBF^>9@6;CE4E+11^W0ES(= M&)6K[MW24"9*(_:_'<[SYPJ-C;9PP_;(C18'V:SHW6MTFZ1PYJ7@SH/Q M-R_( '[$H5XELM^T1UO+)?:@/!DID2T/C!=JF2/Z,7OT\YQD6E1!:M>">S'< MQ2PMS\=0IZ&/IRD89"D8;11MJ X%'[1 3X75'V8I?A2+WRK_#F)P^],/LA$8 MW<71[-H+_"PHY=J29QBC.EXY>:A1I)8>67:SV5!3(BW:<;?9U,30&[+ ^[#Q MX0^Y%6F)YFA/*]IB?P,P4A&F[+W\(4?^/HZ.CRJ/>A M5S6T_B,:J[VBU5XSK]%<1B1E$/FUO@3X;7X4UT'#S26HO;RM!/B_3J+WCR, M\[ %^(<\?]?>HTM[F M;3ZA<[2B?YR=G)^>G)WUSSZ=')V>G:+_KG5]G3*#N"Z&%_O5=]"/6RRJPU26 M^#C/7X%^\*&*PL"D/*5Y*!1#[7K>[Q3$")Y\P)$ M$*1)]9M--,M?_[%Z@!QX23(W/7N M$P8-F$<)3*M]5_(%S-Y O $J MOX)UX J"LT*UH8S&T54TKM$&-0IS;1$90"W7?>#E1&.8YN[AG>MJ( #X>D'7 M$.?*5D)^X@[D5Z*07SD,.4NV$O)3HY WW$L-1B,$"+[M+WYX15^A;(#9%:Q! MO>5^N(&4C"&_V^WQ6F>I>^2M,E8!UT#[=?C$Q+-B'28-[U66P! )AV\$/#\E MFF5J.:M@%D.ICJRX5-U$EV"S'I# ]VC72;+&K.)UK9PCK9QVTA9+R\B8B2M+ M?+93,#'#&>#A/]L.%EOC9,"H<@F<)!_O%*!G,(%)Z>2_/.)A($8L[R*$XH+J M.G]LC.D@##,O> ;S*&9!N5[,102Y\EFS;JUZ_ 30AT>WX>@&\8V!7*V?=@E!&TQ/3"$DRKY7.8/GHSTEJ&5,P]! 7D*X&[-+Z2J9PE_2A&9GZU\;G& MSUCCQ74THN/(K.4>K/+B5AO_(TO&9WD"6?X':^"8=^6Q7K8NXP62\:SCD(H* M60%IBS/@=K_[$D#V]P%(LI 5D.;/;6C]/I$ \F0?@"0+60%I_ARGUN]\6AC& M3W'T#HL\?$PL-XH["Z>(G!6BK-,= XA>HQ^'\6OT@^Y[O57261PY(E80FC_; MJ?7Z*4I2+_C_X)RYFB45=A9(OI05EK8<[E0,+);+NXPD5\X*4=9! MSZX0S2T&/IN*2$N9VM_KLER>]L_/.XP93[#J+M_\,0U>7PUBX%$6*NM_=@HB MGEP50N;/7W V]>!I&H7TFZ;-(BXA)21;A9;Y0Y87X&?X>\?]MU?\S)^ UF81 ME] 2DJU"R_Q)RFOLX9@H+XO96Q00H*K]W26<^()5()D_''F,:KV]"[P) 2I" M*9< $Q6O@LW\@4AE"FY_^GEV;\I6C%3,)>"$Y:N0L^7X8^WIY580*>IA"*M2 M3>I/1TA9W46UH;05QJR#DEW>PO\.@N!?8?0C? $>VE^"T7V29 R7&$IY]Y"5 M$;0"E76&LDM0OT4!VG]Z<>Z>%=.?&&Z4)$*NX>HA)R5HB:/XM9 MN;W&UUX*)A'C7JA6RCW\^.)5L+$.978Y$&]G()X@V_$YCGZDT]+7G H?L71= MSN/3D[Y=K^_E8107LX+3_*E-V?.?J\.I9;11T$4DS&"D7SQSK+]W/+ M##TO>.ODQ20P$Y2NPLR:4QZ ?1SZ[4R[D'&$ZX" M3"A.S#\^;J:>:9>09A4R/4*;ES#/*!8F40!'Z/>C,ET[VIB"=#GD.'EICH]P M7IIEN^CGZ^'CS>WCR^T-_NEE^'!_,WA%_[@:/ P>KV][+[_=WKZ^_*(Q/8W" M% C#\1T,D4X@6IY$Q8$9)8V-7%6C>1U(B6[(A>H$/CGMG]L2\E\ &&+Z!KI8 MNC*JV)J0PRHXZ; PL!02SUY85:7BL I((4RV,144T8HPLO8$[[4'D")"+ MR>8>Y*V"][L".4LV1U)T+&WB<@_!FZ_)FPT;(&\W4;/ET@#W:FX_-8/]($G0 M%HJS5:@7LA=S-GS;N O(I<&J6X)Y>;TD!/U&6>L8( D#7T1T;22X,30/.\E M4YPA&OWG]L\,OGL!P#FCTVLOCAT''D'\5M$X%:C9!<*%J/3*$Y?03R[ M#]^1DO"T3EV.$HHZQ1)A 34DCC._2BG\!9-GX ,T+-!J_A&DY(<&(E6<(H:T MH!K2S!DGR$T&[I!>& KX2>O#B%(&$3A%7%*8)("\I()]!9@CS%8.[!T>W/ M.;Y 1)/L,)V"N*96"D\$:CI%EZ;R,C(7=)8U(OQPEPG"F)/<&NY(;[&@@HXM[EHGXRSB Q!PYZ!>M8T@IL)G=$)'?Q MHKZZ)WKR%OB22.SVK%[89I:(P$J_/!.0TT5.+"^5KZ(XCG[ <,*]7U^5=(\- MHD*Z>(YY.YL'T0* $NY3"$7=ITE$E+;M?Y4/J_P)Q3GN< 15=5BTZ8)!3_.A<7%,7XX M$>4Q94'HTPG!J.$Z061%=W$E^@IF\RCVXD6AP>IES6"&CP$':1K#MRS%1X&O MT9/'F&ZDVW&=7&H4XN(MOO35GB@6[I%(4G(7K_O74FXQG]UN%*OKY^*T?V&8 M&9)0DFW4#1A#']*?K/ JND>6AC*[Z(*^)GIQ;17-D#13$";P'=R'?C0##U&"O?*' MXU?O)]U91*85]QBE0@&*-MNV17#84JWPGL<]F@C*Z.+%#V^?V-#)U3J.Z#O2 M%9=?J[/T,NRLP2#?Q?G1%*307RU]N1&_/S6)^-W[6^UC__'+/D< 1VP[N^@? M]S_UC\\N+B_/+LX-N9BT#@I^>7J*LR-9X08OJW#2O,*5=&_&D@[!"3EHR^_$C!@-G%[8&0VDX^$@R)'0D M./0W+X:8ZGF>:Y"DMT4BD1C.O'AQ!<)\*XU^9 :.EFO$>L(P4-\VVPID=X1* MFG)%=&U6:"8>XZ#;E5P1-@$IA GA-DM,1$<&M+)<$18@+X@<[0*3*YM[D+?+ M%>$(Y"S9#KDBK(.\W43-ELO%&\=!$$0_\)'<713?1-E;.LZ"[4BTG$?&,FW8 MRQ@V^(3;HM9BNYB(XJGJ>FYUG\$(S'*Q"@=""H/8E=RA3 ,Y77RCO.82]N3% MPSC7YRCW 7H"\6I-%[G@R2!+IZA+ M?ZWNB.A4V:SA)$6$A'31^65+!_=)DHG3HBCM,"48 KKX,F1+_F&6)JD7CF X M$>7$6A6'B<&3TL5'' 3?XT(9XE[917EW>"$GXF[>:NS6*V7YUV0X'LY!G#?+[>/K2V]XUQL^W3X/7N]1 ;M]40JWQZ5X'/<3:NDNNI?8 M,*HYZA=T']D8O!;F(]=S=6@#@@*P-+TZM!]655>'5@$IA(GTU:$ F+NY5""' M%)N!&/I>> /FV+DM0LN%?(U O"+B5[ .7$%P5J@VE-$XNKC=I!K8"?!_G43O M'T< %F,:_; YE-&O_G@ $R\H_%H(-IE0PCI\I:RPJ$"Z7#:D\2GZ232PFW^V M!AE1)==AX8IBQ0"SYT[V[!BII=^AL2RCB!R.!/,10-YVRX0./.%H:"ISP@[I/#80D;.LO M59\]7HE;6E-32'T(X"A8/#*L2EI'A_;;6(YPJJR!312HGK?7Y\8HC"J=T-<2 M(E7=(4EC:5WTM[R?S3T8%_%QUK+#TXA"+EW75M]\>+#FW) 0L*VGI9V;D;LH M!G 2%L_B_,5K[(4)FHB1:)\]&&*+>@7&J P]3*5$"^X0IZW0JH+)$6V+L1FI MFH3OD)*+/!@9LJ\K%]Y")T4YI!F0W/Y$RSZD"QAZ\2+7/\ZV@VHBZ8)\7B]L M-].]5M1&XXH]3_HU$AKAT!;4I?:E#07Z4I?>,(2RI70P@ MP]%F?FMW Q,_B)(LYOK?-6RMKNT3I.TS-V(JCNRB>>9)KN\UJUI%,V2).2-)J MVG0J E@^1&CJH/"$6<ILR\D*[>.!06E))PG!JN4J9)F)K71])DX88 MWF1C\MU:]Y7R42:;!BU8QP_I>4>5T)5)T>/V9LBF;"@F-[0T[= LC%0;==5> MGIX<&0KKH8H6W 5R WUHG;T,7?)6 O-TSMZA2;:R!VQ3H9'=' S8$"NS22K7 MOF@J5UK@S&XE==WG0)H&+82@^D4#:?)G$L,1%S?D?,!?PEJFA])DU+ .10%H M:-Z#X@)V#EQF9$UF'>L EL5*&&V&O(Z$C"LB*[UX 24J)[5<32GG."+;N94D M8$"X30,Q*1V!GA,VA4D'H;I.4J2YY(XD_F-&4&&21J"FDY1I*K>&&SF[0LTP MV<*KYB15&@FM(::(.]'\;6!&HPV(G'CN)P*W"D@A3 CK2S$1'5E@JDH$;@/R M@LB1MA1"LCD"N:H(Y#9 WLYJL^5R,0(Y3FWL>Y4#Y)67WP',\.(E1XT=7E"L MLKT<8<.]S9,6\MKGM=PP]<0#VCSCR[!E(I0\ ?8\?<8JV.")8*WN$Z2-H*Y? M'>(1$H,I*@/?:^'$.)>&)\VR[5T/OSP]W_Z&RMU_N^T]#%\LS[JW%!"'"<)[ M4;2-K*FL_"W[$E&Z%>.OU"F"U,K8:QCDP**^-=G))UN>HC8CN+W<[Y:OX!XM_V7-\J8A5C>+$EIV MT4[I4LMNSK(,VK.I%TY ';QV^#Q\^U+[_ZQ]_+; M )FUXZJU\K9"Z4P*K1; M:YZ4CEQ:O\; 2[)XP0>?4-))^$7E=,2E=3 :P:+G3QXK!1+.^DU),LS$I*JKC^F1RRQK)/4$)=40[XKAYS=^Z?]RPM+Z-!H)RDDGL7. M[JI*HZS3]&8-1P MC@NRLCJR9U3VZLD!"@B*Z,@>4=D3&)N0;[268\OEXA,8M(G%)Z?@!A3_O0^W M+\F>HR"XB^(?7DR+JR;9BKVL81-@FSDJ!'?1C6Y;"U23LEG0.G*HP)ADT$9:!8JV+!82J.6+&F4$&KJ,0?3Q!O_JF=8)<(71751L"AJ#1'U4D8#-1GZ<_;8X1G,L]B?X@ E6[,5ZQ2" M5<\:!N[@4$):#VT='"X+)H5@@AUM7KM"**+E$Z]H':6:@2]'(HWV2(1%:A9M MJT=BR6M$\3&MQB4:?]=>,GT!:1H4KU#";R#!B3;PL$S*Q(=Y-*4G;Y&'[(]C M_ (+_TB857?V;>OHJ7[Q9U:7)=_/U?#=*H-)V2H^@A_Y7Y@VDU?7<5ZVUT7) MJPL[=KU:657,)@UIM5'9.EXU9X PFT14H#D@DZ%T8N(G6OCG%+X%X 7XJ&0* M&YDO;IO6T6_W9JV9CDI^7NZ-N5-,3\%&Z[H_M2&1IVHF29K-9BK3>NIB*+J= MR#HZU]G;9M#89X#L2 )3I+7X'?J@T.\S\*-)F+?".K31_5GK**_')!M18S4, MCIP[?:28I&>T68RAGY;NQ/FN,8^;A< : YAFG*.D%LWN"8^UJ*GBJ25WB#M8 M7J@GJGB[UC%5"ZO24H,%2/ZW82YEJF8ISFLNQ74*P:I NXQ&K*.?&IH(FD(Y?EGBW^CGKO(08C6VBF,FU]S,UJP MCG*[N?"6U4C%M,:NM"*WEA-]V&VVX4+CZ._=R3FVU(QXA&Y" M%4-O'W%/GN+H'2(,KQ9?$0'NPR$BHH=3\ W0G/N>WT)R1)-OR#I;(@+HQOM( M%2+;];I(#:V03L8P9;RG716PC@:*8-WF"T=FK3PX-\.#&X Z[\, ',YRGZJ_\]Q2&B%3='^XTUH;6Y'*&G.YR]6*'&;2JNXFRMW2S! M$$_9P_#%"\!PC!2,5)HNG@*O"/L[)SRPD:N\/UQJH8^VSZ YKUPN+?!XQ YO MH0\#4 N\\AJIV:#I^-3^,'=GVM,0Y-OX;G#[D&ZIE=(OE,-=\0:L8^3.B+/- MV99:<_/!SK92J@4P @? =T9^.I&JUO&O)0E$6"6H!;5WSNU/.(A/L@GJPK>4 M*]$2M/N.$I@F:/.=_VF0)&!KV]FF*78NQS4H)>VAR0<%AKRVJ(,U$>T@,F=,E))VA%K[R//Q!71]CRE M*\2J%A!/WJ+1\JNLMX]D$E&!U@ARULR1M[-Y$"T > 9YFK4'Z+W!@/6.6::) M?:26I#;VY. B7POX?IPUHQBE_C[R2T85;6,<[2 "*]$V8]G*A>1R/U/XM*9T M]K1LS5TNZ5",UBA'AIP^MW5T'86Y@G^'Z?0Z2])H!N)*,S2?8?O.*KPHWKR.1 MZ#X H^0.J7[IMB?$)V[%/2)4,UVXF"EV-;;NLG#T$(43U+W90^2%N8=4?MC\ MY,6,A;Q$"WO$L)9*1T% ?"+=$JYEE(QPC5O<8]HJ%A)BNXM:6ZN%I!S72V-IMLF M;=5U?7%ZTC<Y@Z(6^@ML 1D/6\4[1;8"LR$X>@JPM&JZ\\/L- M>*.>^Q.*6D<-15"S5U=,Z5U,0_L,YN6L/QQS6$(JNC\L$99>\Q&]H2 %M3VQ M1 1Q;KW]85 S5=@U-1']4JM]PUT4KR4='1=)1UG)1HN$I 3?U)8MNL\I74K2 M?$1O:))[6EKN9=1^I'=P'27I2%5S/IL/55FK5P>S])JJ616,MLCT2)TYM85\QV-!*9VT M#D,=G-3PIA?LYG&WZ*A!?$6+5WI.$%,)++/YO#C/\H)*M_?A M.(IG!<"<'!ABM6LJO3@Z/3GMF'UK(Z?61^GF7@E',_#J_00)3@F/-H;TM\ ; M!>WC0@MLMYDB*+";R4CO0\129%=YG*B54_U[+ M04JQ/ZW;=9:*>C5DUUQ(]L)8WJM5+]37'ZBR;HJCT]/3H[<()LV MY6CU]C&T_FYU[L%9CREIVSJ:[O1DB:D%)\,\E1K9U$-Z[<7Q EF";UZ0T4($ M"]6UCE#Z"$(F8S,-:5T(&DJ_5-LT= %8K68I8]I]W2J-B="J_: M@4RRRM&0L;/XI2\!W]9U9\[@8F?A E60R&\<0+RRS#2/@GM%?WX=P+METB"Q* GRD( M1ZMG)RE,\;>.C]#_]3[T5@VC?ZRWW?/"46_9>J_6_"P($X:"\'?>T(;O%P/# M=UV$ZRA,H@".5KI:*7\X+O>S7K#<1/#V4(K:-F'56G5]Q9%7Q*8KU,WO.C1$ M^(QUMD\IO=8-W4XTMYMWF?ILWTLVFWGQ8CA^@9,0CJ&/ TL665?0?ND)Z-RS5F!,^A/M@=]U5QOU=Y_]L*\1?N'>%T)99X-L<'. MK(J(G31JJSZ$ M3DY/CBZML!/R\&T;$74*V56"8GU6I4PY24E=4P^NRS$RI]M&IFR]5S6?[Z[R M#_3*+_26G[#8ZM255,_'*69\I%I0<-DKEM&V_#+?E*AHTCJ+T@#5ZFY7BRXT M&Q-%7@0"]H+%(JGZ+E&FO>"[\3'1.=40W""$E["?2+-+T6 ^JRR;[, JEIHB M@CN+<.L9BOU#[I;X&E6F"0NM@B"<&]%^VDG<]?WL,G8WCI9U%<5Q] /MY447 MFV>$8RS2Y8S?<^*)%/X$:[-8_XZ6,&7OZVHLJZ9=F!?KIND'+QETDBBP>,#U&2 MB.\H+@B> +FU6;;:*YKM_0TW_!\=V%CD_2\ZC9>4%02-]5:M63QI+*47WH0R:QB-[" ^.["J6#>'G!G;0 M-X1?<42[+%[D<8T%-Z''1]O#MVJGMVS(XI&[%!H'WRTZS!FYS!HF1FZM0[PQ M2RYLW6@5@&5]M$I(U?TSWRKJ^'4TPU.CM_ZRF#-:"9[;>7L?\@9[&RU:/&S7 M-K'C]5Z7^=GR5^FY9&]K\=EY([MMHT8.D$7[O!ZHGNL(V;+5^L#[A :>80]) M-72I'5QKT%#WEQ"/(,7G/$\@SF47M$H$?VK44 ^WU$--]:JV++9'MUX8Y=W,O MJJRZ*[_/9E:P;](V@K#T= ME9>W^U/W"YA@B=?B'0K: 8+/- MWH@/;(&:UHUN'E2UITX-Y>OZQ>Y+]I: /S/4R.T[^A_!@4QP#UTUU*M:LGD4 MU\7F;??IQ7KC#X[/3WY9'C$DX.:1%LRN\K!I*?,U3/"8I1'LL:D+#>J&.PRX@C%W9G-4 M?>?!. _J^"6_Y\QCM\C,%\+U.TZ/=G*J"O!E)7/6PO_[VBXK$)IXZ/4_)]!CF4B:'>:MM=U5BF5VZ[D M=\37/1L"/\/D.YLA8I4Z2H,6PJG*E6R3_S@Y,BPO!6AWE0AOIM.:-,I0+J!:$:CO,%=.4"-6M:Q+]>'3> M!9ZTE]')[!2K$2.VC*66[S@MY.2JJ.#4J2HUAH@8,T2K=YPHK<2L>./4T>L] M@BN<0/RR/(\[=0=#F(('^ Y&S-F&6Z_C3&DF7T41IPYM[V=S#\9YCJGX!B;S M*/&"X?@A"B>Y.@K]"$Y #9KJ.I%4B5QQRY)C7>+^IO9^2>1@7ZQ21RG00K@* M;#VGLH9V-\_@'809N$.JQ-ZL6%V_PW1ZG25I- .QF F1:Z2CS%$H;,4D2TY= ME3()[?RB"4X>'(4WI2SE7]CDH==S@R^2\E44T7-8:\S-)$F'XQ5O7\5L!Z=6QPG21+K*3LAC8O#P#MU,$#VLV)+B@8-3I*C*:25830CQ$GA=C8/H@4 ^7X;OF6Y7W;@<3S5)6IV%/"V$E;8ZSF^ M-&0#R$&,AKEH:#F-!@?2/7P'6$EL1Z &+7642*HEKHCEE ,K5DD,ID@K2 .% MC97QDQ>MWG$*M1*SXHU3!Z.;P5_$Z,*IU7&6-)&N(HV$E;8ZSD ->6['.7S:5P$=X/)]VLD!DSQ3]0YA%JCH\1H*EE% M"*<..A_!CS6MQ5&(?O3!FO>MV-0AVTQ=P9>G)R<77:*.$G&KEYV:ST9-QWMX MS?-A_E(#D1+MX01Q]*1-M(?B6X=8#SN>1'*UB\X?>>&.CW\)H1BQ&ZJAVK<$ MQJO%%0C]*1IMWP<_(>T!/J^:==!*@"6 M(BT7<*\$N8FFGDP%,:\7LU^S$5@ M$T%?0&X-T5KLH,KB%7U3SC)4->PG2$NCP!24$:S%-GN Y9 S!:L:]H/,P4ED MHF=+Z^K81QL$<)^"F?#07U:PGQ2M1CY;3D7!>VAQ= V=&;SX4S#* C '8K0&D3.T(IFI:-\-"U^AR.P%KA[[2G%[4_4<21N M]8PBN5H@M8XR/P^T_@+B=^C+F#+%WW.'NF94Y6+@/+:*/H-H$GOS*?0'^+D9 MTZXJ:+&F]3S*J(1V<7_?/^^5G_^/08_7CT MR?3NH.KV(Z))\A!Y>2C+,F9J.%D)([[^EV[1.A/3&$K66E^-6KJ>Y_8I!G,/ MCLKGE$D5O*Q2;A[^0\H&G6[;H/(;58[Y(FE=_IE>^9U>\:&.&*6ZSI;QWG(1 MQ&R35 NJGA*N*)W<@'F4P#0A?GDM?1/O!$Q)N]:9FP;XUMXE:E&(YM1WAI;2 M5?R'_.'NM3>'J1? O\"HA*"N-O&,:VV;=8626O6QFU0?.J>^XJQZ_9A:=L7] MB33;%- U%2ALKQ:?_"<*CC9JALVY"& MHG=]@;R,_WSEA=^OHCB.?N"7&U)6XHS@/8R;_8"DFO7>4,.]MV7+'3$2-^ M MI>?YW9J/R87-;K5QKX1.A%E5K!OO;&#(>V%!L;J>"!)M^>,,T#:[U;&V[-N M<^*I&_X0:\>[]C7M(YZX)Z0H8ZU?[+ULPS;L.%U[\A98Y:C#I0B;X,L?KXDW M:8W):$4#]JE:2VUT?=6PC#L"DE*S4B;E=K/$XPJ$8 QEUQ32+5IC/R0 )EL+-:)K/AJ3?A+-<3W$ M<51:QE=]JL;CF_'8^"GRZA92)W/7IK'C0]] M9*)S14E.=/)-=IY;JF77ZF"W@^,_;D6./$H3Y%3Q']< MF]Z3))L5OY.T1RH^8IV%4D,FLA'3IC"[WBWJ(_,Z(.MJ&^"I0?1Q1/N&]Y2T M"I2T&X<;4T3]FF=)Q:F JA3;N9J^AC!-GJ,@N(MB/. E6=JHU;VBJ#H-[>9E MH[[UX2-(\QP295!.J84A(4 <:JZ'V^NA!HM58D>6A)O123F+/7IQPYO(C7XA M,PQ]G$4(!ED*9 V)5&O6&1 >I)1]8VN9W5Y;#<(4CK NT-;Z!?A9G!\>W_[T M@PS9B"(MXFR>I>5SMDUU2O@8*/I0':.3T_YE)WFI51U==VM&HL]@6BP PA%^ MQXMD!Z%LR--CPF/"M:9SCZ9:XQV9W!CJ$79/D&S#K)&ZRU+4FR\PA+-L]HRY M%50+1+2T6^;0*M(E24Z*+=JVSA0U(@;9/JE6RZX<'#0>O8()%G\MJHJ4+2(\ M*BQ;[*TUV1$+5/;\&LL!0_ 6BZZ]J)V MW>MZ&$^\$/Y5(!2.GF*(C.K<"\J3+VQ?0>K!0,P8G!X='QUO&H/U3^0KD^5' M>JNO]/Y6?L=R^[ N#)J&DBB HY7R5FB@>:9XK>X%+^@W0.1B1E';9A(:XG.J MO"/WN+N#T3N^)D]>H\%XG-]BEG,IU:=4L+YU]D8I(>K9$=NH1%8RC1IQ+F#";ZK9^0^ MH9:WAAJJ#7HSR1F^"Z8#AZ]Z_^C-T(^OL1'.LC,B,*O:!T'Y# C8-Y, M9$=LP_W3D#B!;/W=/MR;X48XT6"*Z C.R\.=Z\!+$H$Y@%;>.AXHGP.D)&>\ MOS*=#FNM^^PL6%L%K<-8#I-M3 5%-#[6R4%79B#&>6++N)!XHL,>*?2#%78% MZ\ 5!*>^S&\@HW%T%5MR'$PM7:S"(8A8&#A44GDQ15@P;I6I"_L)"6LX7UM[J.K+1S&) MM7I1&0JN\06&>0>J/)W+$_8G$.,\.MX$7"T>H]#'R9RB 'U_4A2AF)3&[3G- M,3W: I>PN@/QPCT9":*,P2KK\7Y&JG#44QJKAI2#0^ M1:A"+KW 20C'^. I+:/6XI$6(0W@H+=+/TLPVO:JO/*"' <,R2R/=SL->VN=[*UZV:NZF3_*6O6T-ZZZVDNJOO;>RL[FCM%> MT5W<=#H%O;S3_R/I?;N_[8Q_]#988IG@B!4LS5//\&,6K&V=+>/#)IF,GBJE M+N_69LY:Z^.SZCO%XXY6U#HLVZ!3=^Z2$ME^8*D.>?3"UH K#0(HAGL"+$-8^]F=AGNS*-6(]81BH;QMZ!;([327>,3"GEC5D43MUM)'> MQ9.7,H@U9QU<*V0=,YI@N(7C+%80O0?_ MW+L7Y->NZ;47 MQPNTYL:Q$6D["J&ZUM%% &C"+6-C45TDS2KD6QOZ2+92U^Y91XFD0FA%$Q'M M+.W,T.E&E3!Q[?"2=I1!*.H&/80E<_&\OLH!MLJ#_0C2,HL8^XB.6,4-1DA+ MJ/FD_=+470XWD37U%H=;TPVF-!5444H(RZ83WD2++]R9O!%OP WZM)17D1L4 M]X+/)(N:TV=O>"--F'.75C X:I?8$I90T@TZB I6PG]AGWL]-6$]6GC1/46H M5=R 55K"$M]+M^:#.QC"%.2!^>X1:N$$XF3%N4+I[&!7WU]% M<1S]P,DC>%<8JY(.T4!4.A<-PNUL'D0+ ,H<6VM*9-L&;CV'^-%,5KONO,AQ M.GP_SD!U!I]4A_"E5&MR;I! JJX#1&@OK]:DYX9,1Y4._AF\@S#CK"7(A1W@ M1@,!79_!"F7";4RCG* +Z.BJ3Z/& ??P:ME M+,!WZ$]Q] Y'8'2U^)K@ZY3EP%CE)*)31+"!NFXO3D^.CASA3QL%V!7+1RNI MBOOY%J0B-+!?I!)5@")'%\M6,!2EE#$/FM.*T,!^T4I4 0P'&B.T(IZ'K4(< M#U7G<:Z4AU M\CQ@GXZ+5JWKYO+T_/R3TXS@B:[*OT8G+0I6_P8"-/WA0$C#,%B\1B\@30,P M? O@),VGQP&8[J'NRR4;CZ[:)P MH2_^9_Z_O;5.Y2&W5MTJ_GX(L[4C)XYEI G>DQBQ<%M"K5AGE9J&W6HN[GK^A[G-1IA-+6(:P",P(3)*070-R4(]>V%.R<:;3R M]J$N@8\0N@PY'0FPM"$T,R07L6P72," D4L#AI2.4(!G(?.5^@,GY)9<(_:1 M1LM\H4 I6KU(K7B^KO'A\?'1T6G_\L0LM120@,](%CD27:+[KY&=W'T%PBOO/![]?:'<$#;OE&WN:111UJ] MY0R=QY0)/Y,7[QT_+:K^2764)Y9VFU%-A!?(>&E-GHWR1OP9^-$$)R&)0MES M^Y-6Y_;E]WMK'3@Y9P3.Y*GU+/.)#0]A)>1SZ[D M"&7/A_$+B-^A3SIGIQ6S#KUF>*QPE1+42ACQ[6K9<7J*"VI9:P"5 H*(GZ!P MCIR6;M.==S3*J&$-"U0-ZZ8RV_58GIEH]C,(0>P%3V@YB^:N+]$(!*1M(:NX M=;#+PE7?W4F+:E=X#"+:VVOP%[1304OS-YQ?D( WNX)CB#<05NL(EY[]F2-\ M,'H'<0H3[*<>QUXX :0#0H$:CJ'>1%JMIX+6^-ZA\MYD$H/"&1%?(N;C0W;; M?MIJVU[O!*Y3;>0/F_<=G=V1:<#:M[.JU ?4,1I0_2YMV:5%LW*;UWZW;@%P MTE#(;M1M1E#E1MT@EE) --JH\T'LTD9];97"]&K;*FD<@;Q4 MUDI7>= M)OJL*DX105I0#1LV!7NT;S!.,R_(MRQW48R#"'>=TK> M:WUJ%T:B_'JO^GS'[K.(Z8W%;K:857-"]B]/+M \_NGBO']Z9BA_<>?O[:ZG M^!+[/JR8]CM,I]=9DD:S,M$71Q[A^M;92+D;O79RVAL#@RH/-T>[0,VZ+DY. M3XX-.X&T0Y' BH8Z4#1WS@&BS^@E]>)4DR\85<#J*>4-*/Z[G293MKJS9%&B M"*T^9-+AWKII>X[=X%-K)2C:EA?6YS8-,>Q:(F28A1>Q@822]4Q1>&"TE;+XX8C7A-'.4 M*<0N9_NNFB2+ETH[MDF[6"\9.KQB:J3^SN6OU>&F#,&V&K'.ADFNF-H+:U>V M4U6!.VHI';<4<4R[(>/5ZSA=FLFWFT1HIB]6\E=S@W#TQ8N_ _R'*F&L[ W+ M6:L;EKP;>5SN94=Z54\Z=MG2W4N(-4_M4O=\A_6R8,W/7BA-BQ 5< MX>@9)M^ES<%YVPO751=RLQ#C3APLP>Z6I"O]8_Q9#PC)A>L#Z-3\RV/I)::H M4%;?*M:%N%IPHNLS:E@'J 1$ OAR!.T0R-QP^HP:]H/,P4ED)+.EM<*]60$M MRGWQEOC,QVB<6O;3@P,N@1X-)#9.$?+#-+06BP3QYI9W".EFLAIWDM>V!+@" MH3]%:_'OI"G O!)&;EFP4$.=O^X>P8%Y3BKO)#2EY'UAHO( AP M1+;MVP1V4B].-5HZCV][IO+,!N>(#=N D82RSCRTP68+<\P&[=!(PE%B//F'G [GB W;D) M&$NL$K SNP#+Q2VNS4@[-%(1:T!KM3\3EHQA&1N_Z.5"0=QQD0M9 X>P1ND@ M,"32ZI2I!L#2"'SF&;_/EAD_"12(5H\EC]5;K=]X2/WF&%(L>:S>8]WSD+HG M27;67:18\EB]N?K?/*3^MV-(L>0QOJM2^1&85MMQ)T-W3;V3,E4Q5:)$IC"=_!J62BQNN:>0(Q_X4T M[?$YJXI[S)"65M'FZQW$;Y$]/&$%EQ5V(*3%5W.!)]+2*MKZT7AB*)0N*XM'-#ZM./,D)!3T6TA=WXQ'=3@+HH! M^GNA"G^!M2H;TN"B54B#L@.]J@<]W(5#0(-F1XH$-$D1"EA%K1OU8O$)I$72 M]7!]*P'3",""4.B'31ZA7_WQ "9><(L$3!>$\T%""6L0DM;Y"BY1L:@H[0"8 MHFO$X[S-/UL#B:A>ZTAP1;'S4$[(.[MB)L6;?OW/UJ#88F )R:3KB>YV\KFR M)P5,U;^VTL^5O_]C$ 1EWR$E(3BKJ#7P"6&P-G7)RF3%:&R+]?7COVG8HC]9 M@Z4T. 1<:?(8QU%T#4F[N^ 5MP?%Y@:UD8S44R<5;@->,L7_?_MG!M^] $F, MXU0^ [0FAGX*1OAO-R",9C#TT#_OPXW>DQP-6C9I.\YLL#:<%'3H0JLOGJEH M&MN*JFMI2VUK)6F7'FW:=(6%^I0AL^XS?3"%3_AKOX^C$/WHYWX$TF$W+UN= M415]J?VQUIL]/*XJ^-4_/CDZOD3<.OIT;N@J9#@'^$ XG#S@M O)798B@+_ M$,ZRV9.W*-B2T>Y%!&O71]/%Z8<)$HJ@(@K76%7VAEK22FCKBEAG4GOZ$$\-"8,#=0RF#V@NQVZY<8)[O'4R M*%+->6:T4H36A%JFW%2%%/P[ZB,8CLG MK[$7)D&.+3HI5HV&\"G&W:AM6)\;3F5JZP+]N/W3+](*W:+TIEK? M>ER>GAR99I;.,RB.W*H675'J!?03*'TGU$\QF'MP5&5Z'(2C83H%<:6]) &R M5V"GVP?6Y4=6^21Q/KG\.Z4S=MHKOM25$^RZUBJE%3*('61+M6#":'SS@@P, M1@CA5^^GZ!3%KF2=X6@ X[JQ:""MU@-K0P^ ;S %*?H%=_=@UYIEQ:3VJD<2;NF7-IOT0AFH[C14UJPKZ87M@56!M( MJ?5@Q- V5D![S=<[KG"EKE 2T9K 1V: MXB?!!([T=K[_N@V G\91"/V5M0Q'+]$X_8%T2@U6*E*M.QS@(%??@C06O3,$ MD$%]WZ#FX]OU_)7#\1CZ@$T&9MF:W\?(G5.$(AL?K"J.$P0:;&-YT'2O+M\X$3&YE>TCBV[.FI@:T#KQ:6A M=UA45>2OTF09E%>RCCT-X9;@#5UN15M2^Z*A9K,LP'Z -P!)XL,B#0&8!R ' M-AP-9E&2[L!GVQ?Y M>;L?D%BS'FZYMVJZ*_?X-^ M78ORP;Z\IQ4V>UOUF$CI_$58GRI+$2'>!*U\=>Z M+,?F$.)KF( &0P;C]XS-P?OB_<0AJ:CPU?YN'X",?M4AY,MA)X@-7K#$,']2 MB/9:# >CS6+60-O6>DH):&]HF_7N,UV#M@M:!Z40%&P$&9(9'[=$)X^G&+RC M)3U:WE^AU?H#VB6@'[$DP_$3B.8!2/ F !%\"D/O!?[\$H7IE'R?T[8YJ_G M +;N&:)< \9YH^ABL&8A&19_NZ!UQ&AK\P5%9)Q/F8[Y7!. :?=)1:T#5! 0 M'I(V6W_U)Q1LIX^M@I:#+F3@):4S#CIQRE_O//K3&74R)Q=T 4=)Z8S[;Y(3 M0-3D1G^\H"))*^H*EE+R&7? )**Y/,[GFEA.:56VKCVYN@OZ68RKR9-U/7:=X,_K16@U7?66)R0R =@ ME-PA=6,%)96&Z.YDY/).4D9.6JW!@@P9GF.5_)F\E\#D!8GCC8;A^I7),84NHM6=9$\KX15MAVA.^:97O5@WOP,X MF:9@-$"=]";@/D3,!TF:7Z"A7[W"&34XC60S3M)+B1(T/#0S3C*28V[+RB,@+[, M. M&(VF!RGI[/50)XG!G!CH%:S#50HB,809DAH?Y#*[D.U-&=7M0K*%3K" 6/= M(T.%\,:)H7"A\!B%OAAU1*NYPY=6$AMWHE1\$O# <>#9+F@=$1HM"P3E57G 7Q:_>3Y#DP^!UZH7%*CG_'3=QGV #]G*%#?LV7UK*K-6SQU :AG+. MW3Y]8]&&5-XQE@B+J-4K1YH4Q&7I3=F1S]$[B$.LDI?L+8$C*MABE;J/> LY MMSBB691 5&>1)YB;XZ2ED4D&O #3HHD-G% M?%[769*B*3(NU<*9)"BEN\^0)@)JS5(NO?HD/]^*PORFK1('^QM6(C*F")%J MW<>\E:1:_5>.#9Y-""\8*:6[SXLF FKU.E&S6!0^A&MS>EE7SBG:WY]W#/WV MXI9/@BNF7%2 MZ^%X_#M,IS@9!0PG2 .#,>K9_3QJOOU@-MM][FC51'6B=63'^H3(+B1J- EA M'H,;J2$:W45Q36P"=;AUW.!%,S$KT/6<8TIO4%N9E%(#?ZU<61L8D%4C;M!" MD=P53_0<;:HQ#H*BKBX(F]-DU<9>L80C=D42/0>A2V.BSY&>Y&3V$"6)="+R MBVW7^<)+?MEXKVB]]S?<_G]T*A]Y+DG1_7S]6NYXV/',>96,'5Y<1TFZZM$2 M'Y88E"KU,?$)C8D+LZ9 #*BM\PL9\;1>@ZI9/EQ',RQ(KO@OW@B\1MBY)!AD MZ33_SGWX#(+\KZ_18/0.XA26Y_K>;.[!24@ZW6C?:(?9HE$!6F]0^_IGD#7O M@5*#U0.6<%3=+C[A1$)1.!PO"U?*EIMD+K9N'76J.R M%[UYT8U>-.[!HEKJ_>R!ZF571R:CI0Z%,VLP:A24[!^?'QT='Q\=G?>/U*Q, M"9\D/=AB%;7.7,BJL6X^I,2T_8$//EFI[![WX=9F86N E89E>_D@(6&7,!5X MK[5=W!I<&X C@BQ#2D?\KI&$($FA?QUE81HOF,[6Q+(=H #Q6T2B MIG &B MT_ #Q5N:5]P::%M8[48RNIBT=W,=?@5",(8I=O2 88:VON4>. IYIQP-6K*= M26PZ,&:*EBK0G.G7$-7*G1A%2507.E8E:PBDF@';W&J@"#=I5!TER/&(4VN/ MB-1$$XIF/LN8),<@(7V=F;\$T\<<&0WL)I'S+@\S90\H^T('E'MZU'AVT3_O MG_9/$&_Z9\<7:EPVE1\UVC2:!=78Y*BQ/F0[<2S5\JC1(+#2L#0[:NP@I@J. M&FT:L'QPFAXU\K'=XZ-&*RG 0+'14:/5#!!*'KUTU?H,HDGLS:<0WZ"3\[13 MRUJ#? NC+B_@SN(ZB0$))IL])QIR9EEK@)1'8P-)*0FM&+])A7L"_%\GT?M' MO[ [!?3E/S:1+W_]QV__VEQ<+_]@%Z92N*PMHMGB=!_ ZT<*@->/3@%($<>* M"$BM /SZ0@'PZXM3 %+$,9XYLC6 __HW!P,0+;L.4?!1!*%&7_1S)?MFYI:JH6+J2I$NC5/23N!S=_+,U^(@J MN0X+5Q3C*Q5*AETOG$P]>#W- G"='\;?A^,HGA7>T\"?AE$031;7T:\/Z>A7 M1N[=!NW4]-3OGYX<&0HH+@1@_6!7G<"6$@,I/DN* '5%^ "2G664M ;<%O96 M5CS&5*KVM2&A4T0CRRQK%4(R:N8"Q)#/SM'V&YQ,!^'H$?Q868Y;G)H*$2=A M1&D6JF<[S@RTZD@WE]9.U'6YA)K&N(6UE9;1KJ!F:BYD;L=CX*?P?>4#@=/3 MD?Q'*+ ),01P]!\6^7(+*.,R1%'I,6ZUD].3XX-A>#32Z[&JE!TQ*K,^9.] MF'G]$;U"@)\:QQ$6N[3!SV "9Z#,,U_^B;7(D6C&%?XHE=^NX+\M*(/_,@SK M$WICXI :VS_Z"&M!Z^IZUR1"!=21:+.Q_221D!:TAAY632(8 S0R)*8I4@4W MR2 LJ=;@PHH!QZPM)6/!O%;,27!Y\JF*$;Q+2)%Q$H$4%7,:4II\6N/Y&LH. M03[^P>$E0Q\&L( PO0-((/U" M+^ M*JEE72&$O)!Z(_^JN6.E2E1$.)8!NJA1U\0ITF(7@BU(PLT0U;(POIH> MP],34XA4<84CC67M?!C?UQAXZ+^+ERG2K5Q0Q>.C[:"*57.]HKVN/%=>:B&- M_.]%USG/E9DUC":U)3UA)A>R9O1*P$!,8TN7QM[WK$^!%SYZ,\!XF;Q>Q#JL M!)2_C1A7(OOQ8KXZKA>R#C.N^NF(,22RTUOI&17M19@-%@GE1K)JCNMV9A]COGE!1E\#<^KM!U_HHMJ5F5T/60;AZ!FD M,&YA:%A-U/7Z">GUQ!$*24N]*V\P?4Y-)+')L?;QR9Y M8Q_R;_36/U+]J5>HK3/G*6MIHL;K\N1Y3K >DS3)!<,='#UYBSRO&N?(I6VC M1NR./P6C+$ ])K-H$,=>."G2RETM5F7*W@]^>/&(>:"CJGWK+)8:"M5,F59= MV7MR470I@O5-4ZFNP,\OI!7RM]&6>/&HOW#-"<#WVT M*,@W*U]#F";/+U^9@2&9=0[D:J,H*T)D&;Z?LX$S.UXS<94A[VK-EAB"N+XJ)#7"0$ U-:96'$WB*-WXJS6(\C5,0,/-H?@%AOC]%!6^VM_M Y#1 MKSJ$?#FZ#&+Q"(X.XOK?Z\*?(>'[G0&1*X&^GT?)FF6-[(?D9-X! FQ,7JSI.MTKZU)"$P1H*EXH8AH\9 MWH4,QX,PA&@.2;P8@F0XSB>N&_+3:_T?/5![AWK5NF170_-BGAF,T3=>03R# M8:Z9X?AV-@^B7 \X]O'Z7Y[A9)J^1K<_T4B'2>4!>;5X\N(4^G".%$)@MI;O M[">9=Z=*K>'43+TS:0H1<=_Q.\"J!:,!L@EHSEN:@SL/QLPW"+OMQ?X-%)L4 MK36@G!/#Z',<)2+5=Y? M:K;0C]9H?X:WD_G[[6@$Q]#/J]R'?IQ7\(+UEO!SB.=E%&^56\M&'=@_&ENB M8ZU1$M5$7M^%EOX-T'[G"A@?$5O]J(.&?CP^/@R,':I:;[!&8X]1!TF2S8HE M&MKG)RF]*AN.&[U3[$N]4U[K02Z,>*#O12Z>@-T8]Z;WCKO2B""7N0(>RNN-NQ%VZGWK!9PC\^%!L=& MJA1CW,?6CO>L%M!D9Y#3=@H-]&6,32?%YP]#Q8B&M7HDNS!B\/T[C@+S+0I0,P&2:U<3"OG+ MAW&R:^4>'B VTN4.=RG,#M0QO4"8GA\&S"YTK-6+VN%QL[OE&+,#AW%C2,=: MW:9=&C*'4,>L4:'E@WL^'':G M4ZVNWX;]74NGO34WOJ\ADC98P'"2UTB&X?()$GF;L?/O[Q_Q[5"Q5K]O-0FJ M=Z0DXK9AY]\_C ,S*M;KWVTH:?/G/H>>7W#\\= M#L\==O'''TR MRST^%TP\=R@58]QAW8[G#A;09&>0JWCN8 M[.I&^:S_)U5Q1APCYNWU$8P,_ M=[P^TZ1"@01CMKYAY9R+#K,T2;UP!,/)/73OOB..XR7)Z+64,N]?O(_+M54 MI"^@\ERZH0.-:S16H[_#[][!=?29K@Z46U*^BETO%+O8VW#;5'=W#EH8# MGQ1K'09;WSD8>K7K%1'U.OM"J87F<#HQ,!J$H^7#E@C_:E?3@^CG#\-%Y7!I MI76[WC?9,8K6-+>1D*E:F3[%T <8Z?&N;LH$.^+.R#)XB]9&UUK/5#\Y/9[, M#J(:FB=''8[WHY;0QD8:$9 ]OK^C>L:(9!)4,M#4]> PV)0--LV@[.4=(4^G MA)LE$^--LAN'0;>S0:<"&:T1(R\Z.O((5UDF1IYD-PXC;VQF(DJ_8 M0FV&QYU$)PZC;H>CKBTN6F]U#:5SWM=SD\,PL^W@Y'!G+'+9:&"0"7[],)49 MN'MN.H<=;J2E+B<-C+IVG3H,1GMNMIN.44ONN[7$,=S0R3/ S[F1KJZC,(]] MDWD!CG=*B:9DH ?N#"C12VM;E.QL5IHWOE[?I*TA3<5]UC2UVYY8,Y1L83AE M4K( %6<3#+;0+7WU3=.M\M#KS7M21_D8V?RSP]A3._94H>+LK78+W4HOMG<] M)-5U\#!2M8]4S6#9M7#5LHU;AAB^1_J 80+](GN%OFT;YXO6C)I.;=.:*%7K M!73W0U35-:G_^JO^/6N&@2EV:KW8$M#U8>/$7!C7-;B#_='&!P_C0^>V1T39 MSNYNM%XE4* V=@5%Z<]A>!FX9I+!PJZMB1VC;\L_[#5*O6 G TWDTXU;\J#?/*U-CC[7AS&W:Y6BBJ I M%DQZTATZ#,:=3X)J,-)Z%G*I[IJV_=FL_+#:[<BO(:6?'.N=$2S5R3 M27Y;N/[WZRA)'Z/TWR!]!GXT">%?9<;94NF4P;63;]LYM'9QQV5.O5KG(4-Q M=K5ILSA:O8OB\E>X',TQ<+>=. P=@WI6--F@">XMLF<4#8*\<3 BJQ3[>(4) M;3$F5GE_6=M"/[N)O/"/C^OJ1^)]+WZ]^=M2MBT$_"A*P7?TGUGQN1N8^$&4 M9#%EA#XGVJGGT MC_P+'_)/]-:_@?[T_/*U5WVG][?R2_^!&IT%8<)0&?XF7J?^8F @KF0;CFLJ M P%F$+9=R=9".N%X,+5K%!.SCY;^1V>GY^>?CB[/+DR%AO.G8)0%2 CNT*7& MWGO%NWC:IE)5^_6A?'IZTC\U:^HT$("P!=2J/H:KB.%'6D7'T5<&/R%M2U4K M8QT]]")'F!"YVK 7[>8:6DD=CIX"+WST9N FP@]XFWKO-/B4==SC"L\]H.Q1#_$@C/R+XBO8W"5H,V":CO*(<857[ M_9-JKT7RQLP*?NYXAM6D0F==!INHZO;/#/7[/D3#/\N!&Z93$+].O7#SLF4M MO:%JRC?JA'W#0P]=%8X+=7I69/UI!XA=\W<75ZR>+*RRWW=G[*BCM)%QQH#C M\*Q$7J_U%P4['V7USQ\&F=E!)H"&HJ4@;1IS;C%8.+@8&U_USQ_&E]GQ)8#& M(2*&C$*73VZ,#;"M'AS&F-DQ)@:(LY$S]G0O9L/;D?T98T)X:'\VTK6]F' $ M+3VC3/+SAWE,ZQA3@896OUYW)S'N:P,KSNUE>NG.6+7P8+\U$(?;,SUZMWAL MNC,@=SA.[!S=IFX:G!O8AD-;J>Y?G1>?3D^.+@Y#W*8AK@+/P]3=_'C;OA$N MV;_#"+=\A*O 4^M]RX5K([P\7,\0]^T;WC*=.XQMR\=V:S"UWO"8>@EG 4DZ ML^L^#&KK!G5+*+7?*'5M12Y\B;"A[RKTXE,,?7-)>UB=.@QELT-9'XC.7EJ] M\=7\1GR%AC6*-/F,%9F@O8R/J3U1'@*-]2UWAENC"Z2=J).QT[3A;7,3'1#W MX4MSI3>W]?;G#B3>B485;:PL\P#7%YUMV5)1:7/ZWWDP/DY_]G<4V:5RQF9G M:[K0%\CI$:0/48*GMEP(+&E6M#<<(XF@C]:&-S#(L"]@O:AT"_7.M"+QKTWW(4>6HGV1D4G>B&J%>!::)?72_):'0D!=>O% M(5I++!7(">Y$+VXV1M-FOW*67"T0<#,T.@(O2<1B,0FV4Q\[9^;-%0]&*8,1+HE:WCJ4U2!'8(24!NQ%?KW[S&!'VP7MPUH* MDVU,!45T)3P,VD. 9/!4=3H7FQERB%'#.BX(8DD8V))".L(&HG5\X 0"8E>R MCA.ZYH(&:G#17PGM ^Y#M#4!>#,P>$:S#UZC0:CZ.IE& Y$Z*#0E[V=RP M->M(UX /IP<75%44AYG;"E;CF:T5K9<[9)J<5-LT:<-E;76#)G M$JM:^T*K)FK834BKG=V!;JGP=Q"#VY]^D(W Z Z!<.T%?A:4EZ1;EZ/#&-7Q MXD6C2]*^T"5IT<->M.IB[P?J8P^4G>QAJO32*>CYJZ[BZU3B)6I4=OAPFVK@ M-G40IC!'!;Z#%^!GB/00)#6VK5_);XHA=M6JXB/UD8]^/#ZR:W<@=@^K317V M7M6U%/EJ06Z E15'WQ>MH^$.J+7-YUTKN&ODYJ;@X56SCF:[1ER4ITE8+&H((J%N?J%B@' Q*>R4H>I:NA20W"D@BT8:[)&FK! W/GM61 MY%@%2R0:<9@F;;50\N2\ZWZ_U5LZ[*=3/'-C^H!3R[M&E68"EZRXZ#@K-".MYU\9J!K4T7GS*T5-A@%F4A[09;2=MU M)"Y.3_I6VE-%%%/.:(82=^/ I\\)!KM=PS0/8#4(1VB1B^/>@-#':UXI)Y:3 M[9?^:VWG;_EKK7?%X82EH*6P'"\4R39,F+#A',0>[M8#0(K&8<'"A.9A0BQK MG8EI!-RZT1 7T\T#?P*-M*!NW9QWE5#"F&0_%]>/BPP5!O5]G,4:PG;TK M&SEP3U0I;CY:$%3,??CZ(\)CD78 (MW.@7@2>E'D5M!9[J&O C7L6[9TX)^4 M9MP,SBFLG;LHBY40<-G0@7\RBM'@"M$5\K5CW(%F7&VH\J# $5M-/"-\ 1,L MWWTXCN)9WH[

GI]L%IV61OK677\&\RA.^<$JZ,7-OL][!N\@S!"3 MT>"Y1'!\;OI'D M $Q^?Z=,])T]24KB=(TXZ%^;I$&_6H60_ RB2>S-I]#W L(+.699^R!6#]N* M&_*JL SR@O_K/2<^.6.6M09R>30VD)22T/BC']QN4N&> /_72?3^T<>7N_&B M@+[\QR;RY:__N'[<=)1<_L$N3*5P6?-X9(O3?0"_OE _/KB%( 4<8R_J%+E M<"@U+_'8I6,=5N.9VJT46H%ZSBF%/YM=DEJ MPMX0!8]1Z!?W684B:,AO%-L[O$7DU^K_L ,ONY?L+0%_9JB16Z3,5.Z Z!/A M@&C97B]OL#.G0W4])+S3(6IQ(Z=#]=XPSWP(1:T;V#PP:B@E97/D;&=S-D/?8\W2Y-+6 M@=]FCI80D<$!T\NO;2F8$S6U?$WNTR/S+A4R^ BARY#3$;.^(30[C1RI;!=( MP("12P.&E(Y0X :\I?6)GNH7?+F@]^!+&75 ZA@>R8;M>%X ;@956 MW#I,!8'A(MZ#^W?V;PW0OPKE7V#T&EV! M56%:SIU6;;K",'W*<-.E@JRGE6:*&"W'4I3;JKT?Y!(3V\U'C_4%X)WGLZ,O MT8J[1A0I.>U:TNC@Q7V(.@>2]-E+07X=-WH"L8\AG="N_,4;<)L[TI)K?5MH M*)5O726O()X)L087=)L=5 D5O0*T;+:IJ%14S9Y#-J(DWN0S2X8#1"@RZ&80+];UY M?;)JIC-UM(\1VN>=YK-%6M004WHU8CYU;,3D__,-33PPG!0:I.X%%'[BP&Y) MW6B(>$W@+-&3]Q\?"S; PO_U?_[_4$L#!!0 ( %N!CU$9HF*,#B8 $JM M 0 3 8W1K+3(P,C Q,C,Q>#9K+FAT;>U=67/BR)9^GXCY#QK?N--](UJV M$"# 7>T)$&('L8GMA4BD!-):T0*(7S\IL1AL;&,;C'!1?6\5DE*I/.<[6Y[< M?OW?7%6(*30MI&O__!&ZI?X@H";J$M)&__PA-#-D_(__>_CO_R+PG^7?!/'K M?TB20)U4O41(NNBH4+,)T83 AA(Q0_;XGFCJA@$TH@Q-$RD*D3*1-(*K5Q*W MS&V,H1.W=(P.APB2?-BI-P4L7(VNW:^*AVY?EF%7'_-*A>B[4/2.IFB*B-]' M8_=TG*B67[RQK*N$!B8PW36Y^.5;ZJDM\5?>:D!SBD1(%/0!D4_?$W$J/!A( M"8:D!_$(&:$ 0P((!Z04!N'(,)X0(Y2X797W[Z^QC=F,6:U9]Q)$_]R,;=NX MO[N;#TSEUH+B[4B?WN$'/B$D%2+#H9ME\4W1V6QV.PO?ZN;H+I1().[F7I6K M0O>B+>\4%'7=AC+^1_5K#-&;^NX5I.V6]=O@54M35/C.>SS &*R+SU^4WVF$ M]W13%%J-WBT?;HKNI0L7#-UURJ6&.(8J()%FV4 3-TU!Y70),T\5?(:$T/A MK8K6Q4TX?)7IS!U^NLU$] 8^SYGB6.0( &/SQA!8 [_TZL%+B;H7=4>S37>_ M$*X>[GEM;J%/@&:9]LNVX9O[VN68)K8]KS5L]73/B\C2(W0H]A;7EB5V)!7M ME51F*:GHYN'7& +IX9<*;4!X!4DX<=#TGQM1UVQL\DC;-3"5JZM_;FPXM^^6 M.GGW\,M&M@(??MVM_UW6-= E]^&7A*:$9;L*_.=&!>8(::2M&_=ARK#_QE^] MPX]WRDC(,A3@WFNZ!KT":'[OU0;-Y4\D25#S?^("%6R-320N6S6WZY[4I1W3 M%^)^"/_G,:_?U/N)?IA:7KC318XN.]VLP$0GB:E2*_'"9'1#:$#U/@[1/:=A M*MPZ'"'+4PN[@I_<$$CZYR;G?[Q?,%L=J]B!(8[L%:!NI!\L^-A51#@1XK=ZM8?FW[$_ZEI3NF?^6KWOV*=3Y]GV/= MNB;H\VU]A23O>HB@2?@M@GOM&)LOWCQ06*5BX0C-T+_NGK_\L+ZU6[N!V:E+ MZRNL@J:=QC[R8:TL5&C]WM.S33.EK:(),DP]?6+Y9'V]_LC=#J?V,2YI]?EA M/]H/Q9><6AFC?L/&]7D! ZL R^*'#5L7Y>0<69L2K*ZJNN8_3I:A.H!FWQDL MZC-9CK*RHP[#W5'5",-P[=1L7G$+CKSF+B\E_+&YH2 1V-., \)<6V%[A&25#\0UYJR??@2=6T7[25W*@ MI:&A6\C63;MEX!NB M^^'0,X"=@87]'FX/-\5_-;&!W5'79\]7R+8S>KZ0'-=9CK'X0=B(B'D[>7+# M^&ED]]/XI*][B3P9I"$:AS9?A_0=W[4&L*H S7/H&Z6M0P/[PS'N GB/5H"F MLGDC.7=ED^/[VL"4(^&Q60BL"=ZF::F=^X@Z)H!G=[@'HKTQ8AR.96T7.R(# M1Y6:;>TH=1/WKRT'6S#/Q*TDH$FWA9$\J><$UY6,.EN2ZXU%8"7@33J?%'L/ MH3]9*D*)+:G %U^7"MJR8'O0*G7DXG36;/8'2B:T"+X+#XQ4A!('2X57]#RV MXD.Q^H=$:EG!MD#51Z X16%R1C6J/8E-D$:B$PN^F3E*K']L.7[!W=_:MGVG M%,][1GR4U#H"-R';;(N14U7 !-\L_MY2?&9;C.76D]RX)\9/%U^5Q.U^&I(0 MP%X-*'"?&N2K_.H=F6HYDYE;!%2[--,>^9)6D!YG@9?>8XG1A_J->WGZ]-4- M4T\FM'$RA$TJ?8C0/BOZC4)[2'8(/,L.?49RDQFC9/"3?IW* GJ"7+GDE)J7 M:'?W9)3 @1FEJ_B^)[[+9-=G.\=U: .D08D#IH:TT5IXR< MPKPFZBI<(:\D0+237T1S,LNW9^F)(U>5_J4K^,'D7X84K

L6HY_K% M@CE)+6*=X&X3F8$YNP364S0CK; M7,32^N/5JE\PW >;]8KU&)HUFPY)M2,IK35Q<#(&N9CT@8K ]*/0TK60SI334 M3[:M>2*D"(\<$U,S@UXSWA:*,,!TUE".VR[ACC::$^\S2>MKDH M)$MN9DJEI@("Y7:'+B<&2#UY)/N)H9P023$'#N5L%_WJ4,Z>-$%R!DQI,UO9 M&V[T!\_\U855X'J:DC1-H(U\%>4-C_TK,\-.Q$X[YSIACAZJ=8,!H#3H!K;? ML$/HBY-7MA %Z B72/ M=^,M)C5I]=3W MERMX\RGYT4C,18::J.,*PU"-1G,8.*7%--[OH_$)X;>(/-4@?!"F[WU8&I+2 M%)HVLG"W:"4"+9"?1+MSE:-4/:[X;Z)G+-0'YG M&",1*!L_SOH+E!&T?,UHCH$F6 #K"SM&&EB)PJB<>,S$5+HJ $IA)WHSEHG) M@12%5VE=NO(#B+U*QT8ZEDO7^T*CKY- >.S$%PW9L9-U=R'TY!)_<0*PI.=> M:%PQ?HXQ6^GG.@N13"=:;3D[FKO:I)_,-]S 170'8LQ6?C+&SR?G?RW66TC) M,%/(YRUA,ID7XXVDG%WT @E\\&*]("PX^K TO(SU5&I*NK5Y2Y)=4:%Y"ZHF M8P5NU#Y L5Y04&138K%LAF*9 ]O^#&>A)^W[0;(54UG2#-0-J"L\9ZEXLQCO6ZCXKV7YN"CV,?7(GM>GMN>&&N-Q)J>&2EW!?9^Q;$ MFJ)L5G\M6F%.LI+3"I?-I0=LN)!*A-W *?Q6)/\>H4\QWRZEI\G:GWYYQ4>P MY8=#'/EN2JP@'G:&79/*Y169GJ2RJ8+4ZU=C@?/;GX)X+\&_ ](E""PXUA4I MKQJF/O4=X6:%G&4YS7)M%),G$TK+2]930IIRI(6F1694<='[&8!_NZ,.&.RLCK]O.J+77\]K^,V1 M":TU[L6Q4&:S=&G!\60U-DOI^9YN_XP^UUMT_VC@WP[16E;S,9/5LA9'1B?% M11(Q$3B_AFA!F2*W3)?N0?Z57%H):9 ?+A_B\LRZXX6J5#>LP(2LCOB)-IM. MV7XCL"B_EDG;3UPP,JE'GP?^*?A?3:56*DFII,KI!,=WHS$FG.';D>"J>5!2 MJ6<6@?U;:\42N5FW,0TSU&1D)Y(H)=3,MYLYUIM+NNV9_EPLF&$ MNX$-NR]%@LXR%/H\F7KP'(9V7\C-8U19I<"\;3/18:D5;P7.0Y]E#L-W)+T/ MGH= 9>Q.E'ILJE2V7L\PO7:7*X+ 6?NSS$/XEI3UP0H5I:)@S"34'-<0Q+0[ MBSEI-I@3!,^H4"?,41RL430%JY333$=E)I$!G4ZNLU"'EPK4J33JVQ;A'64K M#F%6&] DX\[E]C@CHY#:L694X(QDX+;B^%GQ[VO;M&3']6RU%(G)#="N)*&:8Q/B '\*+5LWUZA[WH"? M:="TQLC87I&OC<8 Y8#60?@GZQ]:F]< M1L26J$G>B)1RP*UD:X'K,'DG9SYCT#*/M8]#K\K*09YIA[6;/0 ^P]L3N2]_ M4XVC[P?XA9S[.EW13DVAJCB$K]I2WJIPCW(;I05FT4V091293H,[;2 8MO38,,9> M;+[V412Y1&-FR/.%S)'-0;=GCFVUD@U\0LH-I.#A97A MU+1,LC2/BM/VD _ND8HWN.C?96"W+0\5\0JQ98":\\#*1L7N!?%*QTR09H42LK<>A2@50 : M[(=F 3Z3/ACSY\]L&:CM"?1?S5)OUKX"$X&! NNX=9MWJB:< ER--O)"XA)N M//[IE>"'5:@;"K120)-QK=XN3@TT+^/VCC=G'$?TN%TM&H8,N'DHUVPJPVAP MSP,JHG AEQ'2T]>)?[8$K_7NWOB60:/NMG"G]!-:VL;0=4 FEMX)M^LKHF8 MWF6==63)*3<%-7&L G/W@/FDZ$_PLZK ]=!YOYJ=S-"R-2]*K6J9%'2[E2TS M+8IO%?D:BX;2.!FX=) GAL]9N]ZU<)NW7U>!]T#966+P$I63-& W__4FGC\T MGOJ4ON4_JV\-J'C6+JE)9?P(VO@W-SE?U\M^O>N\!=-7"X&AA+HA>3WMD*UURIG9E>LBT:#;$=&DY<%WJ=U4O M=_5ZOYV^>7.9?:%@'/UATZ@DB0O&I,5V[68F<&F1 U22^WZ5 M/ BMJW[^(/W\%B_9+D<$:.7=BMRN=BL1VQS4$XNK2EZ]9*"U<-_Y"F]KX>4X M24MKTK 4LX>",^E56+DT,=SB)6KDU4>>03N#,!OAN7:>+'/S3?G3UJ27S4^* M58?BPX].)Z'59"%X&WP',8GSN^9/+U$+LP'7PNF"5MQ''CX*JC:V:@4D@=$\ M<'[Q72W,7K7P=];"]R/5].6$JK"\*,?+!2Y),4:)2H:-=%H*WNC& :%J^AJK M7F/54^OGM^1SLGR?EWM-:TBI@FNG)B&)[I<"YR6#J9*_9S[G,K60O1PO.29K M3GQ:K8Z%!M6M-Y6(E1$CES@0R5Z]Y%4_3ZV?W^(EG4Q-RT7U2HV:Y O>3E:&'JL+XY^41%5U MS7_\7!,/V_QY68%?\5IG9"?_*+0:)9F5%+&7CO5@N!.XSMX!"^J?Q.TYC[XN MP@=N-_V"N\<4V^_<:>=#DI@\DB16PC2=I[IU4U:;CZA5-OA,K/5#)#%YE<0O M2N*;PM0T(; PB]#&3W')9X M%GJW=WW'MA[%G\WJ;KZ)#U34U0QU"KH MQ3ALZ\W )1"N_NY,HOAAAV=T,@X+,[.HC-ILW#"J"Y37@B]/ 7%XQX;V(_N> MG=#?J:"18*):QQ6RJ8J9+X<+,B\%/PKZS?W=*8+J<[L[QZ!K#!7+J1QP,V%W M/NW(C!-\\_2;N[OODL0/>[NH,T_:PJ/:[EW\ MO.XN1ZK<> 0J"J7*;,_I)NHUN7)U=X$V,O$3Q=2?%,5C^;O%(V\N].JP3,$V M&8WW$SVFBJ[^[BJ*GW1XK#6>F!I4LP)(A7KS7$HIQ&O!-VU!<7A'AO9(HW>Q M:H9!I;'2Y=KC3&LN";S>B 4_BCF*O_J1^6D4KHC*9)RU*8;):.%T29O;]2N@ MP4JM?20,Z.9+Q4DV,D5<-E^GQM%&>9K]*1'E>VX\4(#N;F'".J8)-7&U:?+J MHL]6NOU6J)QH)ATF(;07;:04-<:N=P(7=WF3@+9IN'E8$W&/B;@XF_DV)+G" MS$X+>:TOHTA[ZD#029C*%9*39IW;\W9LS#;C<8'A&4A5IX,)+YQ\H/-,28@# M3Y=(XF9)2'%L-(4-B-%%-H(6-Q<51X+2K8@]8+F4*FIS9IR!M;0 >)RP%D7R5FO\1D MH09-H&#.)245:1'<^;D'R*WW<)0( M)3SF2GI6KW6X2;'82)9:K8$SO6R7ND2!]3G!BE6#+ V[\8>W5<\R*PLL*%6!Z]&;-$V@C7Q&[J2I)ZQDQ6;DL$JA ML5Z8.K6T( 8W0GT6AGB[Y1Q*Z>\H%X=--$Y*$O(J TH5("FOL)DDTV9S[');HL>IS)DX%+; MUT/T?K@F_8#C"S(=.UL;2LVL#%-A:U3DM<[@]--L3Z!)U^,+OD633K>D_M*W M.!\\6HUP(DP: I-*HKQ<#E>23N!ZH]L2;B?]-X1CH6OZE$5N!]4HO?/;11 V U-C?F&O$<*S>F MI7++#%SGZ-US&POG4YX=5$ZL.=]Z6.-WY!9.=OCP*76&82BQ;2]Z6:J1?J1 MWTITC5K@7$X03QR^ZLRY]N!8K_#/Q>1X*D%;'$>S36<:K[K=LA/8D=$ K? _ M75;H2W@*W6EJ;&>[&2$KN'1>:&LIRPU<1S* >'[_>NS/CUWGA)%:A<6T+623 MI?Z 5OG)*,"+ (,W=AV<^;=[=FKY@F"D:#C/ M08"HPV&"5T)1=+9P,7B018 M,#XV5+VS=.ST2^,_+Q?K*JH*T"I ?:IA628*72:Y[:N=+@)]71AI2'?694?HVNS;GA&J_/1-''(CK\V9- MIKJU:>#")B\UO&';S8.?*=[FV]>-UM5B!EU/P/RL>C*(&7HMP40X.&\_4F.> M,AY+@8LB]^G)-M^N>O(#]835-4M7D(0_('$>+<_W)6D!$WFIQ#RNUL2>V"_D M5DVD M/+0L(AYA+^N1+U6J(:=Z#[*,N\*G5'D6+^$05S+MAKE#\%'A\C_2=+ MSKZC?8\M.:HKYH5F;TY33D6(%^NQH63D VDD+T5RSKEI#;7*PBRM##_3H&F- MD;'M:;71&* >YL=#ES$ NUM2* MH%)M=2PP5*09"L*N16?7E?<2F(A/CG,:'Q4X%9 M5(E)6B1U6%B :TY!#/8D4Z.U%F)?[ZO^I%E7Y!SJ6:3 M$C6.=2,.,ERNRG-7V?]\6':ZDRMJO$N:,5&?H0. MQ>[Q*^MOK!^MK[V/O/-!A%UPO]I:#$JMNAD6VN7B B3%.A_;.E)P7:W7+_#* M?^%S!B[?+R5=OE<8+#BY48NV$DS5'%Q4VYKT'Q?MO>^:AW M),:C/LSHB=1H0JFZ-AJ:&N2SP]>E>W, Q:<^N+)K_0Z7Y.R1U2ARSDCJN95A M"61Z+\GT!'SURML?O4/S>\P*W3%%:"TOQQ!(O@W!6#S\PG\1ENTJV!2I8$[. MD&2/[T,4]>^_#8#C66U$*G!HXSNWX>C3/1.-QD\W=_&'%'__E[]O=NH5 M%0C,^X%NC_]^_HD7;V)Y(<=P67OX-F[87EW&NJ8A-DWD$*A(<>__:&)/9!$5 M."/JN@JT/_Y:WL'_6MB@#?_XVR]MH07$'\,5K=N.&V+KZGUHZY:M&_ZU9_=( MH*"1=N_-N83F\@[2/--[[U4RT$W,O$T=M_@>X3M XE^4_V==PJLRO.W'S9JV"*+#1 "G8!]V,DX3;B*O_W M7W.:HE)__[KSZL8H&\?BW_O,.82VZ*;Y--%H)IMDA?#^'UK]>$G8+B5M M8(VQ%;!U[2\B?$C05C22.V/KX*5N?X>MEK"E)ZF^_Q=C :[KFNW0D$JM8 MK@Z'[Z9WW.DB1Y>=;E9@HI/$5*F5> $'LH0&O#!5@N@^K8N.YW&\P<8;7P\K MP#3[3'+*S_( C"FR4Q#& A7JS#JU=UK-D,4E@W?:&S31I_>+?AUWQ^I-@L\0 MF/E;^$2OJL5+VC$&^2V,QQQ):MVMBI).LC&$J$(\&E[)FJZR9AC^$2)!R4 MVF-"'Q)I*/I]Y.5M3Y'<5JRW&Q,. M@"B/3-W1)%+4%=V\_U<\XOWW]^[5NGYCOJ=R+\2B;AG\X>5GZ.@M_LXR_O*, M"MSPF0".K7LM6,:\R[\##K:WI !97J:%R" %$MA$8I#O"8H*D>$XPT2O*'\/ MRE_VWMN!,&E!D41S V282!.1 10"SJ'HGUZ$;P^1"*W_')OLU_#(:Q(2@0V)@4N(8RC* MA+="E)B-(7;%OC\F3#CR][[5;&*(335NNDG,D*+X5P30- =38$)#-VV+P,80 MOR;J4_PW)A'[='7MNVZ8%Z'"+/HC?/5/IE M(NRU=JQR7F$ZMI/S.AKD9^9&Y%/"UF$Y0Q49'OGAO@/G]!CR"*!-,( !G9>9.?GQBC@1%Z !*4V(\R";H?$<5P/\'$$WTI0L433$*,QX?K,9JM M(."__^OM!,)*-K;&%%<4TKY(CB"Y#%+ $'NF>Z#,@&NM_&,L<1O>9 XVXA5> M&DMO))/8^OT4FP1LA/1H?OQ%-TV!V#"9) 92].(&DKJ-[G7WKSN:1CY;23:% M.G^VG+U[_?-4Q+<>SR+:^LM$3!YG^S$V_.^G=>SK]EN#FHM>=AD12M+W' M7BKXK^?&?8R-MN0HV 4 Q\)FVQYC<[_LRWF?&> ^#V8-?H"-.,*?&< Q4(:> M=?$Z':V_$ZCOT4??)F+?K'8I]WZ_ MW-'ORUTD=AOZ]_,Y=,;\]7[?ZR^5>B:R%8^I3??&[B. 3+Q6^N4 M1$H'IN3/Y$(F%&W=M B@2=ZX.!P23ZO7"=X?^3:ONG35I1]&W>F5\+?ICKRP M-MX2;^)^,TN4"$6]R4/>)-&K=EVU*^CD[0STG[JA@1H=W!Z9"53#/H[D:D P M+L6D>"0R[ , X_U(E 9]D(B+_9 X',0&%!T*,^ Z(/BC!@2Y3BZ?RC?7N=DT MUSGJ4-=WCF.%F-MHXHT)5C[I3S\#/*AQH-N(AV\C)Y]0=C("5V'91<$=?\&, MU^=4^UHH05%?+NJ[]T>:O1D?SY\\LY-8)^=CS$9[J9/+526;:>1!DHW]ZRY. MSY\TM$03^=N8[O+E$D7J8P[] UR\6&OSGDB=@3T7*5@O.IJ)Q&TH>)"_:*:@ M 4="W@Q,5O=F%5G+7YM=C(@,TH F(J 0FWW?+&*X7'I)5#"X2\M9QM\86P2' MZY"(!C3LK4688>IY'_O'0$Q? ,1EH('E;M=/*X[2R!*=Y7)*+[F:U(#B6LB? M%O8$N"<1?G3MEZE#RU&6,\=X RY5_"H)&TD(7X D>.?E$1G@)]4_#,'+ON;0 M__/W9[ Y)1*1?4A\O/6O0W2RQG/ U+RIQEC7<(_7@C\#HX^$7#N.0WQ7=!IO[>>@VP5S7=-4EN+F] MW!&2:'A[&H+?'FXV6?HMX&:!(J[7+Y60)@^P ?_MP4]SF=\"_#0<(@U=L=_& MOI1,_1;8E\ *E?8U[!7O?5.OP'L51-:&.;##/[QQFPIXR/+LO0$ ::$/ !8 !C=&LM,C R,#$R,S%X M97@Y.3$N:'1M['W9;[C.WW\@ M7^$_"JJCN O#T?[^0QQ6(?J/__?/?_]7 ?QW^%LH_/5_(*A@3$J#=F'A*J&M M.D%!\50Y4!>%R CTF\+07:]EI]!1/<^PK$+),Q::>OP)\Y7\2I$H\Q6E4 PI M0- _]\8MR3X8QG5NCN#(URQ,^?BP! I!OR'$-Q1&X0)]0U W.%SH=3*_.(S5 M-N:>[,6GZ8(??X6_XT+_X%>"ZFT-12TTW7FA4;DIT# VGR\8$D+G- [AL$Q" MLJK.H04F8_B29A0<5NX.E?S_+ST 9 :D=OR;T(U8Z M/ K#V+?DZSD@\>W(;N@$7GS[BQ3:5Y6OFKO]=OSR#$([W[CWD @[/0+Y-NFT M!457;1DR'#^0'>7V8\@)+<,!LU 3WGP+ M/-GQEZYGRP%@*!@((2"8OH.H[P590H,/SQ$Y]#P@^C^BQ?';,S\T=C\B.(+= M0?8$[JG+'S*(_ :^O4LNXQ%>/B3O0C7.XPZ^.(>V[^(H0CWV@ /$\0?G&(XP M#/-MEPCW+=(9 ;P'FGS[78A^08: 8)S'^&=2@4(H>4\0C;."2!X$T?CRSU^Z M*B_^^QI?[]Q98]S7"@P%W?8/ Z^!,\]1OX^A[, MPO#7EAS?.*ZC)@#&[B893?4.+XW%0G72EP"@ZLE*,N="Z!C!(!$T$;R0!$#" MA>PM)%&H2)V(+TU9Q ZY<+N-<;IO;G86"TCCWSB&!:;HA6 .Z8QVAS%87^*7 M$H)*&"(!8C)2GX\ACU+<+0=->^,./VW6VQOM2\&1;8#P48_=E%W;-H+$//BL MLRB# 8%1 6O(4/TO!6/Q]Y=ZBKO$#M@]V=%<4^1GW(PUYXL%UX\24MR?U%M, MDI$P6$K6BE0=&,AZXD,-<>/+SG I1^ID$?WJ'/FF&JE 2XB$'' ?$[4X . MN*DI;HG@B80\,[2XX M9U$!GL@MJLI,;..]KCS@U TZW,WXK(0EJ!X4, -A\'O@6S5\1;:FJNQ5 MP2?^+<:;T"$GNL54X;$?A<2&[92J/5;"3QB_'ZX'"M_'%EZ'>]WKE7A38.UX M;S4JT;S1EX@$VS[VEKAR8*$'<1E@Z\E6PUFHNY8:W^+96V"J )'\FI,73@/0 M?6ZCR[Y$)7C"P+Y1&(Z2Z%OB6T[=ESMB\%!TB;ZT@CC?8,WQUM5,K+2*I($F MT0G*$(2@P''X ;X_4\>^+GNJ+W%J';?']FX&AW48Q]NS;ER*M<=U\%'+)F,% M:B(:94OV?7XI!*YBLCO#OX5(]+#KI%^7.JH]5SV)ZE5)HZU;4VZL5T>[A)7[5>SR;7';O\6_0RL*YB;?1: )-DU<$J;0<\YL7H M57<\NS&9SU13WD@]+QXZ2[WQ$O1ZS-K_BGW_/EWXX61%QU,55W.,O;H8RKN2 MZJA+(_ ;(%ZV5?!!3W5D*P"F'[@"#?!D0(Z 513@:BSNT<*T\ U>FS(B#)5G MT&0PXTKS=1^HAM>FP2^JD>\D@8@334!(FC!_K3I^.F0'>*1#M^T"]<*&@>YZ M0#TVG(%JI=\.778!HN[ \ ]B*=MKV="<^SX2'M7+0WK*KCC#'\W%"M2-RB3[ MY1^$A)/_LL3Y=M__!:&3FL1HJO_/7TF<<>.G(028>2&-.VX2[_SO+[YAKZTD MGD@_T]-P#,P&.D727W?^(G',[@]Q>-K=1Z1O?3?TTG??LF]/7GK&H[?E'109 MBT"_06#X?_]( MS?_K6X(28)(,_JW/,$NQ@+6\F;N!_N=#OIUCAYQ*M(2A*J[@"[#.%)64<)BD MI#D)_C"(C,#*$D.6)/7E\-278<&=J:8R\Y GR!V>S.\]\4BRN6LMP)?<3C?F M1E!@F*_ X,\/1#E,ZL#!%T&9.7'P[L/O3$%1$_7YR!P:W0HW*0SY@MAEQ4IC MR%4*91Y\UA4.KP2^W:BPRG%W?)G"RHXV)*).$8\Q^1/*Q>.0S'I9M^H=OI23='UK_T>O_SW)H^ M ((OMX8/A,D"IN"HIP'X__W7#H7ATI^W"R]9=,'B27.COC+,E<[N6^!=.UM_ M,&RA!!;OW;'H5^/\<94"91RX-B#>KN"[EK$H_"MU$.#7)!!]7\=F%-3/]&I/ MUM1;?9I+Q M+1.+RO*DX/+2Y9^7AO.J@S]F^#Z=+[CNUR(E:A@/F%MQ Z2?W MJ77K*=X:\KMVO,2V@1GGA#K'#5_(C[QEQ//=2-&1PX61[$$"/Q+,R#^\2L4O MW9HLR5:R:U$0=%4-_(+L)SYG15724!LPEH7_Q)!B(8G:"R"(*PCJ.KC['9Q\ MEZ3?'GBG]Q?'7%9,S7-#9Y%X+JYW\Z]E^M^?[V=!GZ GJQ#ZT67YQRL__24( MJ-U#)'X#>*=ZR<[5E3I+OZX#/YS*>XXZ^QZ+\%6^QPW88>,*M-IM7C%59_Q: M/0BQ7UBZ7B'0U8(#!/F@P6SP0-TOJ&"<'VBWH^9[@IJ[<&V&7;.8YIHJUU1/ MUE1EOM,;3=[4:UQ<; MP^GU*35==C2 EN$4TJU7W;6 N/LIFQ'FSP*W"0'_/[>B(SZZE.?*\!,JPU]V MWUBA7FWSUZ?I9%\O5"TW^N1N&WG-8IIKJD^HJ7[#;>,]37:,?2H28/GV/,-1 MC+5LL4I@;(WDE-7[Z[&N&ZC^0=4$;JJ7?JK9J@:8C6+(UAT==]U:B7H@DM_2 M@Q6OKT2>NEA>Y+#*'2JL0C\PEO$]27[.L8'C\9#3)C;\C'7_=GKY[ &=IZ)Y M/ ,UAVF%IM6%A"(T+>&8BDD,@L$21I$,3",4#>/D\4#1XZ>N[M(+RQZ6>66M MC>+'XT??3Q]5(>3.8;'T[W__UUWTLQMSQRWI._,Z*FPT7;>:"LT]538A>0D> M?2-;D1S[IV7.?,5..]TWM[O:V.%$5'(PL'#G]=DK1/F!PX][X/#]S^*5>7[( MM0K_+K/3#MO]S\$>-KKEKW>4P5/V]%_D9.'9TQ7/F M/3Q.L)#.4'APG%):,@H\1^>*1% HT(\PHDKSN3*7,$51J#E.,!0Z/Y)%/EW3 MX-E)L&FZBQE'[@-2;3;#1%_D0 M4A8PR6<;BX4XKE:0RF3O#R(UDE )?0AI\;L1U!6E*8?.RZV("J38U34 F7FZ M+1!12[;(GLD':+L:((T=7NX#R,S3[;G>TNP.R\$MK:G5V1(33F:1A&7'K':V MW45UUY'@LFO/(797V9>)Y'959LS:I#0@1 ESS' ^4@._0FK4FI4("7X(.91# MDI))6C:-'8Z+X;(;(I6^1&8A11)MH7#'6G*M4ESJHJ*O$#--HK*0?LUPII5H MW3(W'A;A%+QDJW!?HK.0>*42\N%0G)I"OT,;?F!6]AM68K*0<\>H="D2'7$A M&FGNG,2BQ01P$\Z"2I7Q@!GI%1$N#]!Q9UP=4T@K!1?O)/97,J/7-5 BC5@4S2;>VG80UW2UUP:A8%A3U*6T\I,NV62Y1Y6YK M*P:-:@J:$11E8+KZLKGF3:-*1TP%]U>R"A# LZ-6*MM)=[#U%0YH5IR?RU#L M]E/0S+2Z#=BB:]O22%29_G [TF9DPP.@9Z0JXC!CMX=;(Q$*)MWEU!U$. - MSXA5N4QR.Y-JU,6-[^TM2T=)R6$3T,RT8F?7(_=-RS AEG1[8LB*5"(#9T0P MWG&SF5E=;6'5[3<:?;L!G@%&/2.#]9[&5<',0S.FZIO0%/A18P] SPCA@D0& M+(CV+>UA[WP.+^HP0ZM1DLQ>CYP(J2*B.%Z% MI5YY@HL&G8)F$&B7550:D_!&-TERJ2#N M2O7$$.!Z1EPJ/+98S>J*SJEP-(#"-4_+&D#@C P,YM.Y"C.HP/'F;@V-%($< M B6(GI,!S9S-6WX+-^6R'%@5#N[M;8# &1E8XR6\0<75*1P3;=V1MU@O!-H% M@&8H,-EP4&6&VHP)J%[?QU2S/@'$PLZ(RWY0TC:$ZC:XN*151C&DXB(P0=@9 M<5DVW1;=T6%3#$LEM5\;>K4)L"S80W&1*$:>TPK)2*2*RA*NSG&)41A5PBE4 M72(HBL@P\_Q?/)CFTWZ#971T@QA4(%BSX WC15(\+/&8 ^9[1CHALTDH(Y*6 MS-9Z4W+WJ"$*U7X"FB%XB=EX@2%C'A=32-\V#+&YD@#!SPAR+3(P$1M@4U&= MF"RA2>'2]X M/2.=B\IZK*H=M2RB =! +8+TUBH8]8QTUIH58F?6Y3H7FX:J MK&:!&BD ](QT]J3E=&&49AKO"\F(($/@NG1_J?L8A>CV.0B(_2=S< MB0;NC.^",9>6&YV"[]-[*/+D]IWF^97$ M%#Q'IMPP7H#\/VO.[V08#O;RBE=%$\.OV]#EVBVW?!=&EEPVWL3R M70459A&-? MI8+L^VK@WUQ+FN 9(O@!-?WGX<8UZ.U/Q8WKT<)7X;'?UF4@T^'30E%)K29'V9I6MPZ7[W%_X:%H\Y]\%Z_T"=J]@2N%5FOD]H2/QO6Y^AY;0?W\Q=L&- M$]H+-SA^G>EJ"-1'TLX7_(_[KD38H"Q[7@RH.)*MI'UPTDM334<^7FI<-?@E MA\(XRZ&3R;:VJ- =#6$E*KG+33!%!B:*-$J=:6272_=5V=$WD>YGMJI\=>&. M2(41AY _AT-JZ9=C?TZ&W42X22#<=!&GZ")&D8\(]X6'>@]\B8'J!YZA)#7; M$F_BT M,JGO&X0;P79S/!>8<:5+2A$P$$DB@$**!$SG68 \"_"./L43!1GN;K7JSIE5 M10$M$:7>TK?":1]@E03]!%R$4>+#1/RLH@"I#/R"IRHJ\*WFEEHL.&J0W!>5 M+*A1O.@V5H%>333P"(*!3^Y[J4&7N:5-7U*L9.CVC'56&^%H]&$VHR9"'MRS](D:+P(L*@6>&X>^CL[MI>>VI: MBB-92I2I@$,>SR:%54 SIJ4^428?(I51D24!;- MVHYG-!@NG'H+%X&<^VLU::>@6O'GCD\OP:O%/C<+ '2B:I M(QZ+B#BU2IX98RHY8KOZ"K:TI$@T\%!1JH@2>)'$\C16[G*^H&%\GHCBP:!, M:BW+%$,;;];L&KP=#%,1!;XGRA1A&BNBR#,WG*XQ<=7SU+5L+ KJ;ITT%/)3 M>^X&.K#ERKWCAWD$>7U6'\^9EOL);^@G')4)=] EK+/@$T7"IOKCQ[IX'XI; M>H K9;$V]VK.EK<%6.LGW1^ NT 5:9PJ4LS3O(5!+Y/8;W]PWR M$R\76T[K8SD%/].1>,RQW1)76H@&.4#CM;2G9T3:T0F8?X8HDAA39,BG'6S] M5$)[616_/I2U_ZE=9\;^?PAP_PJ:=Q=#QU%X_:2*:["D4 M<0HM,LQC1[,N/];O>>X:8!2GNP3)%=AUQLDIU")),D4: M?^S@_R<5T=PJ_T8*_ED22K4CO<.''8<3M-;4'"^H_8:.$@E-CI<6"88J(O@S MS?&UA.@-![!.,Y(>MX><^P]-]-5XWY]T"S^_CG+%H>]U>P15 V"EMHVMNOBN M3PZ9T?,:5V7\->0)*]HDPZ99GME(30V QB72!%X A3Q'#LJD/Z))O_I(NK5[SV/J#= M_SS<>'?%KB5H34_4%<"TH/SD>1ZV?E[^Y>?17C6LO7-P]]'MO-&2$5&> M]B11'AO\REZ5W=&&E9"TX")*,$4DK[/P4M'L)Y?UU_(XGBKJN^6$=0B!1\TQ MY[/Z/.#]EVX?'^*U>\5#^@]W#QW'A4 MWLXU@W_9P^L84*!)&1%+O3P-^BAIKLR5.*C6,PIUP"[^C,";N-S<:/C YNR: MMMH,MB5WHZ8"GUYTHXL82A=I_-PMSOG'R%X\RN5V@RTUVHUA@Q,*;+=2$.KL M@*OS[0HW$/XH<'VQ,9SFK=_R5,=GX]\EY/9S_EWQ9O0/^7?A,>F#*BQ/:@-G M&7)ZH\ C_RWX2A6F"!8D.W;*H$@W$^<@31W(B>WLD8-SB]$1J"[89!4'G1# MSU<+@9M"EEU[+3OQUX*@JH6N&Z@%]-_S__PG[S-W%6;E\W#C&HS$I^+&]:C\ MJP@>?E0I=BW'21VS0NZ4?#SMG?/O@O7]=>]OGO1'[Z ^?ES$P*![A#R:;5!3 MCCQK-)AU(-3H2VA:=PNCBC0%_L'G.6,W/9,0MSU_/<"#P^/[W[[N:?_-PL MR"WXR_2!*=TNZ3/ZKF].^VUNAI"<7=>YD&T,]* ']-VA;E811M BB3_60..3 M2F9NBW^_K\NC@ME96S@O%TWT\$,SW!7*11M(B0'_$0#WBRL&: M"*JK28N;L1)Z+,C%$,F_IY7?^%2RFMON9]ONWQ75'M&:C@PW6II&+$<;;="< M2BLM$=5#5PP4(8KXHQM/UYH@ $-6U*4*:+0H>.I6=<)\>S_/!'PN_N77FU\U M4W#2+X.#>OEQ%&7QM9V+PE!''(M&4Q6YD:>T@,.05NO"BC1-%9G\AG-^P_DB M79!G2_M,HQ0QWE8)DW2D;7,[;'+4($JD/:GC5209JH@^VF3FPG,&/[WD?*\1 MU[U\07[:^_(=BL_#C=P]>%7WX$D)UAKJN3U6Z2+P>%+;8"MQYWH&< W(Q#4@ MT2*&H44J;^"=6_JWK)[V%,%50RW0NI)AP:JG((,F2^ANF INFEE BRCP:C'F ML4VO*TXM9 NH_61?(/?;K]LKR/F7^Q'O647MCDY^M+[45-[TAZRO8S 4U%F) MQ[18%8%:3DNI$0Q1),C'BBCG I^['^_M?CQ+WI>M8#NGD28DUFA'-ZCRSMH; M42+O2;*!P8KXATXUI/74[I0\R5,,'[1AY\4S,*_#]D/U^Y'JL#V^W3QIX;-> MC/AC4V[L%W9I3$W\2)-0^IC-8%"ZB#+G%/*5JJV\%MLE2?T;)$3.%62;PDVN MBMF^27HA/H$ZO3'N]Q.A/V9"*!HNTB3Z20NRE5W;-@XU^-/CE G; #:JHSRR M)9)''Y>=+D&PG&M7=E8S3W)=]]V#'_+OPF/8Y]1?$W394W7P6O7\/]*NUR!, MNEKG\'IBVGS;_(-I\D_%C>O1RU?AT#]0V&5+]OT"6P"!I^$DEZO]1$G[A7^+ MPO\\'L55C*VQ4-,8[O ;B1_T25J>D1MS/.KT9\&^,A*-GX1RQR LB0D#-0DC M4H3XI1"XBLGN#/\6(HDT7"?]NM11[;GJ252O2AIMW9IR8[TZVBU$WA6H>W$@ M\8PX\/" ],$]V>.]%*7%2+9"M:=ZJ?%Z&!]V9<^3HHFU\*66%(KD0-[5P[YB MKM]._N>WZ&=@7<7:Z+4 )LFJ@U7:#GC,F]-/78ZA>,3T-R*_&ZYZ M>B\>2QM /_AKDO(X5][@P0>%M>P5MLES_GQJYN%('O6 MC4NQ]@H2RQXI7J=,NL2@/L>AY6&XI7OQM!/>HWBC6_TUFJ<$]MDPT%T/+/O% M65KW K[/+BU*$4FB8? +FA]7O?[/9/77R?:[DGJBV[31;FUJ^-;@:HT!K!-" M9UOK:F]'MQ*.\]"BW!/A36G@(*I']2K?/JX@ MIQ6'*ZJ2SK2 (<5"0J\TFR*HZ^#X,9Q\C,*O)^%7PZJ&[X<_8)-0V^*+6MO% MN+@UQ=W%;B+H:\ FM$C3@$,$F9RXRS(E(?5G5QR/4)7!!FUMT@HB+IQQ!AI, M%Q5#85.JXG@11^CS5#V*NI$._$PQ+Q; 3]43!123IKYU+_J^1UI[V5:O6=2U3=OF-P]O6 M&F\=Q!^(/L,@1?P1\7>_C_Y;:^ _>4KOXZ55LZ6Z!T= MF<9O9_9%T65C$K5TL<2AU,1OR)9@Z64VF4S2U97."QY_A%V)-SYI^,I^P@NO M@)"M:R-C%35@$O;:2DEM49M5/UD!9+H"\+-=VJYS7^>0)BQ=5YKPZ9+Q%FDN M2Z_K<6V,3\5RA*WLEL1W*/JBTX1/MRUO0;^5-*D*T;!F+[E=.$JFOM.DH)-^W!7*Z,UY(3Z!><)GQZ0OMUZ;:>0'._%#F"*#L5 MJK?U%C-;2*+PW\L19@\3VE/&GE_!'\EF5S4;2>]16 MAL-*V)'*GJ4S6I1+]V,T@PRF8\3N< &C:Y=EJ4#D1LU$LG&RB*)X$2?/W07] M24HP*;_XP_3(P;W^28[D;%;DBB.'#YCC^#S6P^M_A9JD%/3 MEEF#K[,SO=2))"SM\X "#7;N#/*9ACG>X,:N% M2[OE]1-Q)G\NSA_D]-+04V4_O)..> ,7[N:(_OYW=R7I,LW%0+E=9@&<.;D>$' M;KU*6N5DCXXHXBA99,[1Y11FY9MRGVM3#H%SKEV98YL8_Z?J]@NY2GM&?_W( MDOO]H.;[Z)<:"9R4SD*W" M6C86D.$4%'EM!++UN:/&2S#Q>4[J8DSW=5?G^K[(>V"--YSR886?47_CGF;6 M.Z5]$ZZMB6Y$C^8\/0+J+VT;@C!XD:&0(HT^5J[HD\KGI\HQO7!/[R>+)^>Z M=M]QF#(7+E6LNS.4RJ"C)>*9E+%@T")&$46:8#Y^SHA5E- .TR9I@.I+0S&" MW)'^>"8^Y]\%.P57&,\/U$ V''7!R9Z3]&N^HT8J!RT"M"Z8Z]]?H',]QM&H M(^\[C0XL]*MBM-VH[F#8E["T1PA"8&D340S/MA7+@_QK/ M*YGDJ^73-SSY0+7'G[18-K5A M=PM!TQ%LK ).DZ+Y;@?UD\4"'"LB.1M49.A?*$!^52[4PUXH!;9;*0AU=L#5 M^7:%&PC I>J+C>$T+RA["?[/U6=B\HXGEZ1_WZ+C">LLGJ2.*;JSK6WD2<-4 M*5L!.D[;H" P4J0QLDB2YV[Z7JEFRON@7-):>(,^*$]="MIV'9(Z M,1#@FF:VY[6ZAE0V6K(4TN8HP(=/*@&=K8.2\4V^!3+@\$NU\+HOOW?OSS^U M1==;6,FAKA9D)=E)DITXN0+MN$%R)<4#'SL% _Q \]+SI5Z07%()=-57$XE( M'?-T+VII.+*C& #(/]U:\[^^#/[,??Q7H1\8R_CPD>$ P@4WCU/Z\,UM0)% MO!GQ?R($]V?Y5*SD5.XE9D$C) J$7$4H6,)A%)48%*&EA0H32XQ&: (%EN"O M;S+XMS"V__P%_IP>K%BJ["5J4/_S/GFP!,NC$H3A_WT15?9X,SL4OW,VZD"C M*H0>5F6*=OKWO__K+OK9D/.HD._,2S_H0#35S9H*S3U5-B%Y"1Y](UN1'/O' M>5+,5^RDZV]N=7I"B ("?\6(_RW<>9T0)$--6]Y!=VAV- 60I2Z#F^//3I^E M>OSV0]=/S\W=>*HE)U>YDM'OC9NR)G#7-R@PMXDH@;?'B>'(5XIX)68].+6& MW3$T^P%<+1_0!P%T-N)3Q^5Q6YQ(JT[*$HTM9 M8DA9D4A%GB_AN;ID<.PX8_GD*\Q05-5APP&^PBHQ)7&LA$KH0\A)66OX^+"R$FU?5T3@,35WHTA"LV/61XUY MC-!0G8N[G5+462(=0TL@R8>0(V?6K@O.OB-N9F;%'6YLN6:P$I8=LV)PZUF[ MIVU$OB&T(ZBUK@4.\'ZR8SHPL_(B->[ FZXP&H_@M=DF^A(AP0\AHQD_].J6 M3G)CQYZA =DHS<'H8_0PTU8:\#@SD#.?W_*S.=+F4&(Y M\32[ST'+2$+@+"BR<82U[: TUR(TLHZ5J[6R!!B/9$&;S2YF<%QW"V^F'-*D M6-U#,"V)_C*@[8Y?6;7[4\VL*8;T]HT!5 M.FJ9E1 L.RJ&D7-7DG00V_';C3#Q[<%^ 4;%LZ!;;(!,5S5!A6-FIH^<]F0, MA6#4,TR=!FJSHC7HBVSBZX)EA1R1@9X5N'=B 4<^(2U=N#IUXLC), :F0#+;GZA6M+Z%G9#Y&Z MO[0<#BJ5JY.ZAHXX"H">D0'!KW4Q>SU8B$(=W2P;)6Q)=TI3Z!I5'7KOAWB:N"Z6?+:5V].+^[Z!(FW<_1T$C.M',S[ MR5M-72LY#-S3!P>_*OWDGOMU)S0_PF0=W, [(79\(')P=9Z8HD:_$H_F.>_X M'G?&=\&82\N-3J[^Z3V4I"%N#LYJ!.CT4R?QZ+BG#SZ!RG,0FH6!^A;.(?P5 M)KZ[A^>C&^09TZN_0Y&U(\#-?\)5W M'W)!N8#% ^+_Y,._OV!??M4,,U\I^I+.#CY%RA[;LZ^ZQ\K3@:X>7CB&P$,\5C;A+DKLGVE[X=-M!%7^<-=1U M _4Z#SL]J72\+IZX[7%(;>?'UQ/YO8SMY^7M%9> MVWY^B&QR;FO?P]9>DNB\6(F;5S?8OY4 Z:I!P5.WJA.J_M77;'@',_URI7 ^ M@_V^&DEZVA[#JT[QC>/<\]=G[\[YI2_)5D)/3L:1$.EX8WSHGN[,@C>N69V; MK;[=%6UX;.LB">-#A/WUTJD''7>N:D](.'@3;_=UM!-.:R));)BMU6_S MXN_4O?ZAA-NA0_71!0^6$H^V>EVVB[>U1,*3AC\84X1)HH@3Y_I"7VR6XF?R M6W;]]";VT;G[02AN>RKB[0VL.KX*9<2\"0]\Z9:[M2H]%#! M\;:A:=M5TE\]:&;J!_Q2 ,SUC[U,I\;0[Y/U;5<4B#;>5?#AMC'_]1*3EI4\ M5EVD!1!+"8'*=^C#[9*7F8Y2:5O'C3[HC65DNH,W.V@VVD>3)EW6OOQ#)KTJ MLJ4DTYZ-KT[KA^OM]V@=0$149C>C+B=4QWT:[:ZP2?P>M"9Z,TS;-'NNSI6? LDX/)FIOW@-Y#?UZ0\Z^NCWG'%[EL9N1 ^PJB^V M=,$4NP190IGDBG;BV">UNXDB#&>]GI=0=A?LOU_[$9;WE^K7]>-_)M4='JDW MPW+#AHW.<-,9;/1ARXJD0_%NJ@@39!&G'ZU(_TE2FS7/]?W"VG.72>.P/+69 MIS:O@5H7[ Z];&KS@BW*QTI]IGJPEZK!,^;$T ;+]42$-G KAGKH %JNHKTF MI?6]&:J(DW@1I\[5!] GN?51PC8#SV]:ZJC)H62DVT&>6$;CN$'7EH< MXM;4?(BMNN,\66?!WIOE<5_GN*7$,^--Y$\EQ[2'Y&1J#-?#DO_K70]_?4NI MTD9EU;9J-8ZWQY4%6JM/);C_Y1\E>3 MQ\@S8A?N EZ-)%U&.N!='9$/MC/X$^U_)@6 .J.2,BJO=URXEVKE^A2>BEP? M()CL%6)% L:+,/7$O<(\#W9%+O@'VSU\ON278%P+L4YLBT*-AI;M7K53-9-2 MXF2Z2X[@>)'!GML-^+*CD('JJ[*GZ*E?M%"!+^2N$T_R8\4@IUD"6:A\G^-] M!SC"XF[?#:6RR!N,Y)MS,1[-WB,"(7UU!,$[QQ3E%39IQB.7-CH@ D&+!(D7 M29B\PACD*0P0NB.O9:R;J-G:S;5:90<%&^\]&!!"DC3N.K.=R/?TVHYL"_L6 MG#( (:@BOZ!:%I@ $([. M:8+W/4],Y]INS>U/N$VK);#MT6@>;M_#\^3V 2+L-B-7'/-=JS]RC:EF1"#X M)) B?J8EZ>4[_C^E/1I4J;WJ3D0X'!I:M>ELQIS\'G>)UO%&[@RJ,<+%+#Z. M-,*9EI5DWX&DBQ1*Y;L.%Q ,Y+L.^:Y#ONMP!7'%C]7^N7.WDYUOB6-7A65B M'&X9N:2M^FFSQ>3@+58D,*R(D8_>X\AW'/(=A_WNHUDA=R,*_+=?W_U,L M.&IP#>FN/ WZ"[5 Z6O@;'Y!^F->_$GUSNU9_D/@>E3-7?7%9="I MP[8Q(/$!-NM8=I2T:DX2G2A=Q,Z4E\B3G%=UK^>#>1\_E7% A+^_0&>$?2@C M K]!.VV3C\,EU&"A*C%)A3U)AZ)4D<"S>YX?+!=Z?,)C=X&&;B!;=YR74Y(T MOU&=9W*N@UH7[#]]FAO5'RS3[&->&XP;JN/^K/QK@F M(5AZI!0X4S!,%BDRFV//,SP?_6[U1_/!GK :VIJ"=S1G0''&?BD2@;"#JPZ; MK(8D\4/ 11I&BP23/>9WG8F?)SA6[:0ZS=)S[9-SY3H_=*HNS>+EN:#+<)$N M32[R(W'7[M <(NA$-ST6.V^UU9A>C;4>#)'ZK+%H!4,:!;$SGO@V& Q"9[2( M,D_3+G MRH_K?*Q">+\H^D);'N->0R]QY!8:=TN*LT60?B+ZQ\TR#,]>$;[*S,W!&ZJZ MG@K0*J@[19<=32TD9W54/S^LDR=H\@3-57@L'RQ!)AY[L^(=I MU&3#22+=D@H&4X?R[K&0=]J=R;V&0>],.VXM(+_B-OI]X,*D/1$P$B\2>-X0 MX=(]D@^6M7DAT:['P\E"6%6;IM'8[D0]4*DUF8HV>2SA\^&O-CYUUVF>TO-T M#CF0=_EQGCS=SZ8\_1].Z#JN789H&$X(: G?[OQ?K P![AA MH@^Y7>#)K@>H+GMQ(U!M'P3)R00\-[WN$Z-S#'DWFI/1@M M'6BL20AUW"5+&_:1CY;6RG-&5YDS^F >VCNMGZU3IB6Y'$Y,OCG [HYUU6, M3=;/87^.H)@B13]:=^6*$D_P<1ONY).=3EKG:87+ON+%Y S*79=7=EV 2CVF MZDNJHYYO8D-+*T4:&"A0^56Q-G%I39^2?0FAT_/&10IY]"!#GMC)W8;7<1N> M(KO0H-*9M-1J:,J$/5M0\FXPF&N)[":G@XL@M,Q3-_]TU:"0IF_D(/",>1C( MSL/6NL'##9 U_QBLIK^LV M 5WY/6AEM[)A)=9G%>XQO7)%\WK^FLON&A\K&J[@2')Z3F\:I#ICSXSH/O]]9SG_ VCH]U3O5'7\\8B J907#2Z 9G#+P2"DO=]+ M8YV5T+3>+:#.$]MGY 'T%1G^]Q'\YP?)KRKX9GV[D>M5MBD*7M#MA*@TEJ1^ M(OCDSP7_ZH+@BF&%@;JXAF IOR-S&:[,IO0 M4Z4V&_.SYGS/F4*?&#%DS]-[*^V^=+% ")=GNGW=]IHJ6[+O\\MT(^9>OZG# M!DWZ-7OL,"5.MR4]J$VK8DV,T88X=DI^_.R=H85JW'!. "QZV_"3V^$5=>WZ M1N!Z\4!55&,=#)(%<;ZUE+1QNS5+@DUT(L.Z8>G;/J&],MGN-.KZ);+5*9,N M,:C/<6AY&&[I7CSMA,]NS/4[9 MK-:9%C4C>E*N8T%]XE5T),.X?XEQIBR_-;EV'X+DTN\OS6V^:W?AZ0*($IL3:8G2([WT.% M-.KWCX&),-3H&4](-JQRV\[.4GIPN1V]V28&NC='$"JB2WC3:^Z5 5K'HW)? M0O%#BNQ,\:\\19:GR'[<1?NWUD)INB"@QM#01%(NBU9;::)[Z.TV]$;2MF2[ MS' CMC8-=3ZH5?12H"5K(O&'99K^7J)#/&.T6\"?XMXGK^5YUAR#^WC>6A/6#]8 M?32'NB'$B'8Y%*/.>,/2HRA9/[_FHUVV*_;HGL\X?:C!FFEXVN^I92GO2[#=;LTN?@X::]+V+WY. [$Q?D)%[47 MS>#PSJ,X^U9-TX.9;U? M?9.34\\>?/INF(1=($A+T>7#P$\F "A\2F9GM*:5<9$7V[ MUY?00VG:(D(F]=*1(DQDB\;E>88KSS.\PV)XW;HEO[L8EOMZR\U\I ^#^ES!^:B')BC4LJH[C-: M.X;G[9)': X7]MO&T#0<=!=K$DK_F@OS<3R5W"&Y4(?D&<+=-6S""*EEAS/@ M[2YT5WQO%K.)<#_7)?F6EHE] 2XR][FX"OW 6,:'CPP'V)#@YKZ9?FB"#M^< M*OFE!NVI=NC5"WZ!YPYUM2 KBFN#I\;I9H@;@.$!KPI@#@;X@>;)5F$M>T%R M6RS055]-1,QW+6,A)QLL2\.1'<4 0/YI\\S_^C+X7S7QD<=1NS_+IV(EITM% MPFF2H@@*E1A&F4NXBF 2@\FX1,D8AB[G,,I@*GC>-QG\6QC;?_X"?TX/5BQ5 M]A+]J/]YGSQ8@N51.\+P_[Z! X?B)QU_JP2K$'98RBG:Z=___J^[Z&'.ZX0@&6K:\@ZZ0[.C$8$L=1G<'']V^BRU +&JR"[E5D]'O MC9NR)G#7-RCP*!-1 F^/$\.1KQ3Q2LQZ8'VQ[ZP!PJ=[B57YUY OGY/F7WWD MX6TR$%#IP-A8?][=T#U^=$>($N(FJBNM! Z44M*:)=$ZMPM%_N>.#/U(]._S M[1P[7D1_9?:F?QK.(-])7N;Y(=;RRBINCJ<:_#C8<1@,R,B:C"MMHJ<1UQ ZQ'/*GR9;^M280$ M/X2.#,M141YRB+X;ETWV+Y$9B%74W(<&\Q@#\>UI<7B%#2M55F)RD*Z M0[=1UB?S*MS:-T,B&!+AMJ1)]"WDH6;_28$?2AL#Y6W):U^].;VXJQ42?7?4 M=.S'U5KUGX%WNFIQ]&0@R9[8K:*_HH\&@#?42UWQG?!F$O+ MC4Z6_/0>2L*/FX,MB@ 1?FH#CG8Y?? )5)X#SPOXTZ^L^W_LK2#/2:1\-^*_ M'7C"9,Z)2^#$SY)".2?>;DU@^9JX"$Z -4$^NJV1L^*9K'CNOM+/+/7;3?LM M3Y<];A-??_?E9:D ','DP[^_8%]^E2+,5XI\V#P#6>\*:;;J'7IGG*788\>6 MJZYW"/("73V\< SG^,H&X+I_>*TZ"W51$-1UD!X]/WR(P<53?OSNH>5\+5W* M6KHWY[OEX%^XC/^YQDM7M0R2K;<7.GG_,R_IZCB;>!I7S5H4SO739>JGM[/U MUW$@X=G"+0K_^@Y4XECU_WY/X%*++3L&6 \]PSP#!UU=JJR3R2(67'AX[COO>= MGPM0@1^HP>]CE0!P83KV>'NDFD9MNN^5N?TJEOH2D6PROV/WWGRQ7)K9>-_5 M\H:=?1];+5-*K^B5]A822:FF*QHSQD(G.3Z!OU;;WO?P^A\+8_A 5[U"<@S4 M4W75\8VM6OAW4A/C/P4C)>&+A;7OE&?]"![\X]B6DXG.2HN[Y+_7;:[ M!8R]DAB19)O=5YV'%B15B^6[6O&[03D2I'RDQ_ [.=A;:@SEW=EV%W3-\GRW MI0]A-**MX8XR7$+TVXB(F^I36LM4:V1$WWYQS&L MIS0'^5#1WUM5+7C'#:8+<$M?-XA[[CHY3)%U%F=7#7!R^>5AZ?S0OV4:@ZW+ M$G$5#E?>6_VF4[**]OFUPWN7FT5 M/5P\%5%F6_#8C.!X*03V:#N6"3J2TIHA%%V$<>(%ZR-<6EQXC\"'#G)Y)'C6 M1F)@H2_<,+GH< $K_>J-Y)F5_11+M\%QSQOC' *W3'6&#Z!.W>:3JRB'O"<. MC!W)9!?L"[5MN&:!SIJN3R?1KVNP?E&BE_Y2"^+.;F2VA!DLDVH'\^%(HD^Y M21@O,MC/"_N^V(7XGR39\[OM[WD]_!:KA>&O+3E.1.)XL>[)*%J&HYXN&C\5 M1_@9.!XO;BY47"$Q= Y>P(R$R\I<8B@:!6]5>HG1)/@[O]8K[/B'N<)./[R^ M3N=7U_.KZV]V=9WKBXWA]&IOKM?9;HT3"HUN0:BS Z[.MRO<0$B5(L+\63C, M[JY29); PBL+2L)0>B[A-*I*K6#]Q:3*@Z@SJ;@&9&K7N$5VLHW2D7$A[,4)I,8ML$%,W>*8]8HXGL6E-.Z._& MKCF;J9OH[-UWWRSU<(>LB.:FM%XM$7[*:3460)*9QW,B"\EMGA;)%2?/MJ6R MVQPG8V8GI0:;7A-GVA"G5@W6A:UI9[].+M0CF5$76UQ?"1*TYFRXH=ETU319 M74M ,_,?XRW-8CH-S-QP)$3V&B028NFDLO.GNZ,>-5KJ',14.T&'Z&S@B)7P M[/R)T:A9;VA0+*H<;V/&@%OPLTC"L_./AS4.+X?X&N:M<8N=S)VY9B>02.;Q M\HRMJ"M]@)K\<%MJL>V.7E^GH!E2-2)Z%!O(< >79]LAWK;F"[ZD): 9!.A> MU6[QZ@0WC6;,\JI9BZ)I/P'-D,IFL+K>0C9[..ZPY+YA]^( 3D;-DJHL1!A% MF=Y.W"C#>(Z,D([;C0XG6!X\'S$'$EU?#>$RI4GC_EC8#6'VL'O_@/R#RGR! MR=78+ ?Q:E#O,E3424[%9.8DQ_B8H)?ZQB3#46?C+[GFS$Z>GIT2!$5[R9ZV MS0W;56BS3/NBD$!FR3^%6-ZK]7<&AR[]F;.%NW5CE()FQ3^8-?9M?,.**H8B M[3W6@C LP?3,2H4:&C6G=9D;5ZB)T6<'YFR5CIJ952_H2(W^BB)@M6(VB TZ MK>N+%#0SK1FEUD>50$:X6L?$+*Z/KVTV/4"4F=9$6J]99U%O<&6X)> F.A]O MEMJY0A$F3,.R-QW&'"2H(U[#?:]>O5LHXOND^C'),;,I"X]WZGC2P/$Y>/XA MCG] _UIW@#6L,LR-E^W&>FE5V&I9.\1'#\I4C,.1A]3HGF@@_HZFQ<&,;O4E M.LO]RJK1XW:XI7 AM;3:;98N;8GDZ1DRE6U^46&J6X23^?9\&:ZBT!>2,;/< MUUAH8&U91N3068F;$]R&+H^20"[+_5[;"LDZRRU,5!I#%-UH[!DI!0&4P7U*0#3X+1"A8P$:[!L%33$!9 9A#M#R"L:0T& M R[L:[Z]H1?E*I^,F:&^4H)K8ASK"@Q!.[%>K83S 9?@F9E1O^[@':%+##B4 M:8V6U7:MZ[/)F%GJ6[6Q/5^RZRE,.D,@QHHCS7@M M2\-&V*R9RRU!]JHTE/F(T#4VY ]5#V.*6$I:"963G3TGXTM2'*+%.8P<4- M51)F+, T2WZC[ TK=)FA1-YO6^O-'!F.RBEH!E=OK\EB'['&IMW?J&QK(]1\ MH'T :!;7-2!H$5\ M>V&O3'&#Q%&UV^OY/@-@D2P;%#56!+)5TL6-,8&(GN3OT%4_ !$I(7VH"97YD-HP!+EG5;1$M#,O':A"M8^,3-- MJ.=T];D[WUMA.FIF6B/&KBD;/>J($.7J2DGL-6;==-2LT,HVAJ^K9$^$R<6X MU_$49@2S!]@,"AQ/$\.)5NK!4!5M\;VYT^XW4AID21LWX\W(:_<94^:( -T/ MQW'L@G'1+&G9R;8]55U#,T,:Z<'+DV.GW,M;-'L5!L!P '+ M$F%.J%6BV9Y@'&ELMW%U+:N"GH)FL,6U365A#OD1%VMZ2<&)4:C.M 0T*^#E M!KZ ^^.U&8J[O;-8KAK]*!WUC%)DD$4]7FPI+A[R9G,W093 [*>P64UOK=O[ MOK<@X%8DQ8U:N!/ZJ\.X6<&UFWM+Z/^Y(?8HK<++ MC"ACVU$;;MDF#;0]@F<)-K9*HR42: -1A=?SH= LS:&AEH!F,&@['&,X,[EC M\GMYBP_Z" 8G,\.S!-NU&[%3W2Q[,+D41MO('\SQ50J:)5BOMEC1LV5]PH6; ML,/XU8Y $2FR68)U9:ZL!7"_QO$+#ZYZ&M4 [U+8#+HP-L0VXV"]Y0QGV+$U MJX_2U&'<#+X>;#FV.)\90"V5M)4UZ"_KM10V*XW;6;/JM&MTPR1=9[!G+6W1 MZ0/8,X7!AE$TYOIKW#+'W?)DTXE[L@$"'N2,&]=:384*JRVZL&$)G>&V$]6& M* ]X\:F16N'C?:IIJ-W8WHP49EM04 M-*/!9MI@1M7@'F7&FLNU%G+"6FZ&8%8:_U]!X7 MZ9))QJJWLI?3Y289]XQ#5^/'=2:,ME4QI#QR'5=6]6Y;2T SV#8MP5S4AYK. MA=%JWBV7R.U*2$$SR#J-FAS1;K/.R=NYIM%]PI&6; *:88-0+G5$3ZAR\#BR M5_1&8LN]88IK9EJD&-B6-3"[)C2)HRD>3#PL2A'(LF'GJ/45NY5 0*]U&]4F M$2]+T@$V,S&LXVGP%MTM1)DE#+^OSGBBUT]ALQ4"S25+M=<1!PN#;I7'Y>W4 MMPZPF:E!:B_6UB"D1?+9F"U%U0#;'?E2I1 M IK!%A:1=;U'#7VN/&=(B.%IIW88-;L:N*7:@UC=-,#\!S>#J MR]1ZLEO8, P$AE+0N0O>L EHA@T.5W74G:;48:,;K+HQP[4T)44@RP:A'72H M3L,NB21I-2SRN['.'6"SMM_J;N>.X5&F M76E@[3(:0+OI 3:#KXBW_'F,L[$HH LV")!@YHF MF<@&3;L)&1#+:)=26PU(5%: M=@?&%-$2T,R\N@*YKM!:W(-;#LMA^XY*VHT4U\RT>+?6[TX[%=M$4;\[-Q#+ MZ-=37+-2:ZKR:K!Q8=_<\#0RZP6U37F;8G"&M'5[/:Z7#=V$K&I)%/8=@U^E M*&1)6]&'6ZWLKD% QK#:AEH"2PSL+GK&L=N/(GO==/M;#BV9@3_"Q26<2/B9 MBIGS\J@1S\+RT&QI&PW\L(I8:CIJ9F*;GJ ( @:UX,7@+'$\KSJ4M-J;K5**0&9:38WO#7>HXW'C875&K;NQIH+8%8!F)1S; M6%888C]8FSSIJ55:J MI%#K)Z!9\\2AWM(>>B6SMHSHVCIN03H3):!9?W7&PTM[1%8Y6:Q![**]KS>H M%#0K-16IWG.WW=D4AI:BSE;WOB(C*;)9J=G/[-D4ZSEML48M8ZFAC)=UETUA ML^@V.SX/BV)QQNW9_7)F.#[ 9=(%+P7>(]0[CPEJ?\BK6(KU2^)BZ" M$_F:N!1.$%^)?$U9*Q_4>1DE(@"R30P."K_U9*V&4#'LN#P.J.\O8@4IEKK6?- MF4EGG$@#)S),I(43PD\VXT0J.)%A(BV<$)ZY]3[C1(:)[\8)\)VR>.(].?'* M0X^>;23XO&6+LST[A#_IFH!GZI7?@@C/E<^_\M:;3#:^E@C/E0>^KVP\Z4=\ M"]EXKIR:R<;WE8U,;V2R\=;R6B8;WUDVGBXS9;+Q?67CN7)+)AO?63:>+CMD MLO&=9>/I]/L?$T%\@6@\==YWT3"B:30AAY^^TSG?&=]?D&(^)")DV=TL@Y=E M=S/9R+(TF=>4972<_T8ICV",@/'P/?:# M_R]+?62ICX])?6P.Y=]LPZ=GJUS@36PS=WLI>XH1TO9A.LA?)W%QC)<@4Y$? MFB+)I"63EF\A+0,?HR#*I.5C@^P#%A #S>R=FE0F$W\>A!^P3)C8L@T[S&3B MO0/T Y:)OR9>$/R=F!';A7 ^B^+?/8H_8/' \PA(E(7W67A_$%O,_E3<^^_L M2&R&3C8-*AF6P&,_*]R#4+AC?Q_%__8Q@86]:_OS99+.Z(RE/)[Q,T0:Z! M(I U]]^M'DR%)&:>G3=LG1+GW MOASSD^'A/U3R[SDRYOYCKV"!;ME'!CF(-!>Y=MC#UG]_J/"-U@^1:R+?U))M M8YJ"J]QT.%U=45&5XKC&56M]LA[]R!DP,LPI_F QT-J61C,:2VL@F)(6!841 M0C,R6(BGH 7B(Z#:5C_T#*>XLH.[)TK>=.JY\9^+33S5L;_[825N,X<.O>V](>H?:41@0*@&/?^0"$"1XF/J1 ML\W__A@8VG(BG^IQV?:LUE^^2R2$\C)5HLUIS4=>:K2?&PP4R] LKQR)MC M*9*)[ %PQW9DQ6(',F4WE]9IH:(+]?X2 ,P!@.4\)TM?@=R/[\!)/W*%[XG< M3[?$)^\$WFIAJHQ'J#6AID[I*KJ4>UVG-?HT2VQ,"TCL8:?L"#51*[B7[)0N M$2 + &1.R#,,E^<$/D-S9H>/U@Y_'I3?W0Y'XRI_[A4N&"6R5:8[GIUT+OTN MP%,?FL_S/)7G*2J#Y%=!DD\U))_% MX%^?;CT_ (%_; *!=/_]4=@#O]EUXY0N=\\NJ?H-,^O.NM'0KA-7EHZS2IPL MYVE!W$'?WQG\/BDP3=>!4 ?GRCX)QM]79G60;9ZYI>3TJEO/5*W4%'NH=)W" MK+-<-05.OSKK?JAGZA5,M3@?*8R#54JF5V:G+O+$,Z5)BHCB\B)%YVEI%X\9 M'#\)CNDZB^O0K6$/A\AVL:D@WP4R!;?(FT]GI6#J-I2V6^8Z8^RL.XWW1=ZC M!K'A7DJSE3K7G#4N7)^NID66JYJ6\O"=*S$#Y:7YJJL/$M/FIO8*BVU+(MI3^ MK%@7N_-JK=+^V.JC:YO5<'$A+ZBAON"6[?'D9MXAAHVA?OPC<7F68?*B_%S1 M(G4;9'?PT<)AKN$%P2%L7MR9_"U:T[\=]=6 R\4-=C3W'JL[8,9\]K%5G\Z8 M3S:'[XB8C#&I9$R&F-0RYG-/9,L8DY;]?QEC4KKY+F-,2G>^/9\T>O>\T&GD M(S*.1FMQU"EK T^3-99*?GB?3&UEW*MT&ISH]-&PHS2B"%7Z;XYC(71+$DXD M?GLJ&U0K4L+I:B:'%"Z=K-!YKUL[\9>:%"=I62K/4%2>EG;[>/[^[E+^N>>O M9>HG+1OHTJ=^/*>L._7NM*5.J>%TK H4-Z _7G,,S?&Z!/+A9% MFG.ZH#E(%NQEFN. ]P.6/1_#/')&Y/O8-=:YT$=N,(GYE$/F=12$Q!+LS9T= M[F:AQV'ZOCOY#D:Q9JP\FFS#X=:Q/@.5&2N/A)49*H^(E0>5-31YQHR5 M1Y.9S%B9WEQFQLIW[G7\5GFACVI>[%V>K@;#ZOE0J:R'RS.VV)^QEV]N7GSL M923]M$FRE#8YE@%)L22D*[KFX'?"I7B7;VGAL&T-T.K)C3J%N=$J44N+0M>4 M MH'\C-HJP0)+1?0$PTM_1&&^C+>@HP"8P=CH#NB89V^_=27=@2=?OPY@#2]8< ML-D[[H3H]V%,AIC4,N:@DI7?B3$'E7K\/HQ)82(QU0F,)X\@H,I^N#RC1Z=J M6W.FJ]Z9M5RUW[P1^G=<%0R\1UXR(U'.4>3".\[:FM]=G4S9D97:D%=1K.IOK8OU9%&4_&)!FR>H86\L/?< MR^^-H8/*X'XGQF0-E"EES-?F[;[EL MGD6^,09BYCPKY_GP-G(=0W(PX-XT7];"=S2)P8R5 M1Y,8R4IK1Y-\S%B9H?);L#)U"<[W/S7Y73,V^TYP98( #_7SQH537RP' TV? ME.F;/[@9*![[MU-HP@* )XDOG1RJ_%1%W+Y<+T\O)X4S-0HFUP'7+!J]2W"E MZ?A,95[(>J9R!YY"2T*EOSWH;5EY]]-4C2'DLU"S4*GA85.LEM2 J MI2NC9VF7Q6Z,#^;'/W)>Y.@\*^Z&FEDWU>'7 C(_(6LJ_O:L/*@D=L;*]*:] M#[Y=]2WN0TUQ;=F1KBJJ4*H.QB5'&_50[%Z33/6+W(?T]YR6R-7 D\W) )Z5 M"S>>W"8G_;T;'+\ZP?P:V'U@F/R9UW6NKF;2J.A>J,J\,"R="\Y)!PGO&&$7 M7;.'0]M_)-;>U@&!53DQ9#3H.H)Q0]>B;@/UG"XYX1(P#0%SNE#S)\9R/V8>C;JY?@]9+#6EUK*E.57&5Q;#$8$,Z01B7KAY MZ8"=ON.NEWP?QGRU$LL8D]):1DKGHT9WL7J>F1JUG@Y9J;2 MDA@*4K[X>.?J<,4_=2WQ66WBY?[2XQM X?OC8:OKCVD(=1(S+8),U9OR-F%.& MH\EI+"$:(_R,[?>T.2D6]'84"(!"S> MX^F=SDY.Z^BL.U;[..A6W<;8"C7P]'B2>&?R,LLG-W(P^]I-,OA^4.?L]X/O M2\.U \/NJP.Z,9 -^T$RD3UX'5"1.[W0BJ)2DD87@:+43^=6C%?2&";G67[? M1H0/!^HGNY$I .J^>L!W .IGV]F3=\+J%/5E@7R<75--2A"*E6)3.S^97L26,CX6 MCIR[S>:9O?O;,P1^T)ZQ%"/P6UZVF2_R&'S@EYGF+R_/Z"7X:V#]K6EV*TI=TO_8/J_$F#O3[33BK(&5X6 M-:U7:A2MR<]3< M:3>1*]=OEJ?*?%BH%9J&%&]0V*NN)./&LF@*<8MRA9U=.-W^ M)SF=UW/KIJ6ZGN8(_7IH31I7/2=([)X$*,RSHISGZ+TW1608_* -MRG&8,J< MSN%J*(Y+ TE2A;: JYY[*2J=N'2U,[> !=1\,>RKT>=E5(7SZ]4ME1<\$;W MT^SLK&S7YZ6F>J:LVSU)A)E2ZT6,VVQW9F9EC]+*?AYRW]W*BAV#$I>,.%>8 M=67=NRKVAZR_)&C-=F=^]>[,;X#3=S6RK]XL-KLH1R5<7O*./2Q)LUGGQCYS M/R\BG?+1C26//4-=F\T1<^8SPQX=8X_LSI3S,BOFJ]5R-"TY:LEJCYJC=14/3A/P M<0 ^FC[I,V9:4+?H=FZ1S9G5K5ZS9^?W(C*]/SL2E6MD)]? MO&\X]ZBY9,CF7R$IMMSORZS9EIPF#:G,YN>UWP1<-;*(7+SK#9OJQ5&_./ M/2S.JM@W3NCW)Q0.5NO91(HNZ[4X)4(V9[)27J; :@F[B$GYYLP=.+1PF&MX MP6'>=_H'6'Y3C\_A0/+WO03OLOQC9FU2F?K.K#T<"_RFCH&,M4?(V@RU1\Q: M,6/ML;*6SUA[G*Q-*BD9:S^-M>]\T>&7IOP^^@90AKIW RC\\"YI=779U9F" ML%XYPW'9L>GI1;"DWIQ6AT \21>2:/RI7%YO/3CO34\[9XJ]G!B45RT/&_9( MHZ4XH\Y(>5YB\K*T>[[HM[_/DV2^TZ2@LFL?[Z5#OY7^62]NJDPSNJRH C^7 M%Y-NHZV^/:/Y8M51;Y6F2*=K"Z=>J?2%FC?KC/0E41TDJ_DRU7' FR;+G@\^ M@)LS(M_'KK'.A3YR@TG,J!PRKZ,@)+9@;RXTVV+UQSLDTZ1Z_\PWS(3ACW<" M9,+P]18\!<)P;!G:3!@RS9 )P_MM1,F$(1.&(\P;9\+PQSW[F3!\O3 \G@)Z MWP[Q-/'ZR:1=QLJ#RK^FN>CP\L;BLW!U,1QJ5,<9_DVG%NUQ:"X=M:X!6>Y*1S8)G7WL6OJ8$MS\H M8T&M5?I+C9;CGF11RE/L/=I\(^\. [[XJBO="_HZV%80P <[V-_81NX TSQS!XV MO)$;CW*.)A'>=W(96UE/*;TO4[;8'VIU764,O0N$BL]S8?,2)>0Y67Y1&ND[ M8>B@DNK?B3&I2Y%GC,G2J.^>1OT"2W$SI3Q.OJ[RZCQLEJIZ:^R(# M'5Y@*0ZX\;F'9Y%OC(&8.<_*>3Z\C5P*DQQZFLLZ7+-VYZS=.6MJ//9NE10( MP[$E@C-AR#3#$0C#Q_=AI"^7_ $GX[]KYFK?N=T#9JB.G'FOJJ[7YJQ7:CB] M_LT?W"@3C_W;.39A <"3)*9(#LY_:C?ENK\X+W':A4^5L%<8]\135;H<:0P= M'YLO<'E1I/+BWG/S,_ <4K;^WVD_H.!M6'GUH8F/(.6QD-M;+NQALWI%4077 M*;A=O:\*&WPP/_Z1\C1+Y7EZ[Z&C&3X.O":2-4EG_>[?GI4'E]/\7 M."#OF_!_B_O ^"TTHKO12AU>&'S5&](&78_=!Y*Q?Y'[D/XVZ!(*QKD A^$D M]O)RP-<%#D)L)LGYG#,244^+/7YXL_H M"C9"YT5]7J?8(-EK7/9\$@SU[V*AMGL>1T+%)=")W'Q.8IX3$CUVT)H\4/1] MY([B9_==>:5;@8\_*A9OZ\1-YQQ_DH_]1P%Z_.S_J*@U'U$">'E M&CR2V$\E+>M?Z*@>(6!25QQ*^\1MS6:7/KL9ZD4E.C^;K>SBS> < MQW$;J<01R%!Y.;,YV>:!C)6'6N_+6)G>"N&+6)G^3GEEA7W#3DZP>= ;_[V; MK;^Z]I3*C>7IRI"_(<(_"X)H7T@?_[&=R/TM(,P]+EB M1<-Q"Z(4CM2CY#Q'\WGAA1O3OP^4TI?/_.J0/5TX>G7$LHNB.$1Y*8C<3I&Z MTC2JJU1&5OVZ+?9Y4XQ!!&&+S!W'H:+9YI*CW8&0;2[)6'N$NT\RUF:'X!\F M:X]F@TOZ/-5TI-GS$%ELK\38U*7ES[$?2SOJ?CG@A841X)SKLPOG9;GT^P)WXP5/]F3 M$BM^^977?A[*EA1".;(K9=\!]=%L'U1H7<'IV1M9#]=?#5QV?,M;(?1([V$NL$Y M;NVTJ@AX5.[)2JN/C*7&\/&>ESS#B'GF\P^_/3JL)KFU8\1J5K5XC0_Q1I1& MQ2@:57N*H;:UZZM+HWS"8CPB*"6;9HZ]3S$%NR2$@\/O=]U%D0)A.3QEGPG+ M%PJ+F E+)BRO*?9DPI)^8?FLO17IE85L[\7[Q@2/;F9REYJF+2[F#6=8ND"F M6FT-"G0<'-#[HX-L2\:;RE+IA5K6Y__.6S8R5G\+5E,'YDP=Y):/)SW $S2) MZT4HS/7Q+(Q-;\)YELHGWQ#+_G[-0FE:_#LWYNY6@UB09M.+] E.I3@_'1N\ M?ZVH&&AM*RTYYQ;+,&?49<]WIH-K^[PY:Y?%\^7;BT/WWI 4A-I1&! B 8OW M.(V.AOF+B6/Y3G0Z8Z33^D"KE<%I%$C=A\E+')?G:"G/LON2RQD8WY !_ Y@ M?&D<=V!(?'6D-P:R83]()K*OGA/->'5UY5%4Q6L6V%ZUX(_J2X(^TAHHY3EN MW\:4 VV8_>S-*=\/=I]M T_>"7FA$YU=J^?]AE,R)\;5J7B%V8O/LX$&14=7 MW9'1II#KU^H7X\*9Z\0H% "%G)!G&+""PKY>K0R*F07\>@OX>3A\=PLX:IVM MKXLVHSK1K'5V(D3=SJ+>)=B3B/_)"1_I=QXQZG:+B=\!=>]I %]]PIG<7Y4H MS6_UU8I",W7N+%*EWNC3K-CTE*+/"V6VK$2SLXY?,-1N5XNM&#D-D.'S'"/L M/9DIP].;ZJVIPM.S 'KO"MQ7P.>/C<^CI3,O&ACU <6WG*A[5F"GYPWGO!9G M0<@Y@&P>(L.\($C[*F@9=MY0GTX5=M+N ?Y!\7I==+C1N1LP#L-);5DYF10G M5\4/=>A\UK1']4EKJ!1:YWQY2@FCBT;LT)$J-"TS>5;D\Q(O9W;H+5C:+4"G M"DL'9H=Z.$2VBTT%^2Y0*=C AI>8QO'\U ]"[F1_#B*;1!!XUV^$8 M^^0Q'X^Q&]@+?.8:WA1O,#61$7]Q=L-7G5)[N#R=1TYGHGT2IN2FY30702%,W4>('=@ MH26^,#\VQZ8*4V74O&)D)^+J2SELWUQ%:E+CIA_10> S0 M<-A_.+'!&.>0 :H,WKHFFY9=+X3AR:&E,&$;/C#RT20W0WX87[\WQ@$F(@"S M#K!)OHL[B8B.S%FVBUS#AL>#6_T:_'R?E3Q#T1U1?S6)33N83=":B C^]^MF M.0$GJS!.7OZ":<;K(7]\\Z11+/N:;DD"9QJ,QND6KW$&JVL22UF:B77P\4Q+ M-G4,$_@7@G^FO?CG/_#E=B;&!".?J+_Q9KIWVHW,;*/8*>I_WT6'QGO=L=M-/&]=6TXPL1*>80+NH^14T 6O/H7 MFBS1.MBL4[J+.G[=J7)"AISTO[G-?PD9=F@X1:O"/4IM-']A@JT0?O.3Y7__ M+E;;=[_T@CBJ_>5CQZ)Y9 M(?_8>T8%Y<8^4?C_,VB7]@GU6U^9_$@& N2!69@\0,7F5_=$AQ"7:"VBJ(D^ M*A%C!&KF#A[HGWN2\YC /^3;/G;\,4'E?0!_2A?')*=_D[S4;@^4>NZO4O&R M66S]G;@U9ZW2SWLJH-1NG2JMOG(*W_3;C;/3XD Y[0_@:U-I#?KMGH&D\S=33UW?^ZYWY//M,9D.8L10=O1 MK,91%*U)ELYJC"C1@B'*M"#RFQ5O/H$8C$R)EC3:X#G0E#*KR0(R-8GG10Z& MHD4>/?R$(")=8(E&%9&L<0(V-%W@)(,VB- M0SRCR9+(:Z9LT:9D,!QK;*19>B;5NCT1)L:O.LC06<2E (XW=G84_7+<*5\IBX*QGECT=(V;JC[H:NST+ MEAHDR:0Z(I;7'&M$R&0^"FBB;AC(A%#5DLTBQ! M9T2:Y6A.,+9G4S6\&Z=XO704^R:XJH[:D5V)$BM5EC>:(O#,, M"W)L"9K%R8)E2KP.*-D>>T07C//B***5"CKGKM2NJ@ROBYJP/;:$.9,6#4'# MB"&N!XPMZP9\L2B98P3P2$RT/;96NJYI[KB=MC(TR+ MEL1@3< F>#2T;FJ( @R)@L ;/&OP6+=V.$13]2)+3RR'86Q!Z)@SNM0::=+. MO!$ T 3WB--A6(X3 )\LJ [*8$009$YF$;L]MKM:7%^7O%Y%M SDPKS&(D3A99$3.Q-MC1XL+*O)7;$6MSX?5 MI7.A>NAFI-'4]N R%@23EP5--Y$$1)%, !PG _PP%CE#QQ++;0]^?CZ>5XLH M:"L"7ZQ=Z_6;"C7I:C2],SAH*U,P.[/"F7/CY9L%V;.[(@AQQLT+6,00Y$H'WB]; \1%9'EF @&>1T M>_"3BD;IZY/BPL'G8YII7C25>@ S9W?X*=,&9F!MI<,= MR/.:9!@FB#EB./@?*.P=AE)*-](69[T9Q=CT>C32O:@TA,%W\$DC7J(9V=2P M#B+#48()=I0R-8-G!$H2!8ZR=D3QU&-XR4"T1$6C0MVE^?G ZBTU>A>@,JM3 M@"2-,HD!!0NL(9I&&L]+/+9DGL%X9^;Z:#+T2VCM.[98&ZH\Y[&=$ ;?0:A$ M\3 "3VL\KB2#$57F&X8L6^9HL: MLX-0DY=TL'X ?V2 ?N$X7I,IL(8<94HFD$L&AV%[\.)E:):+-]4^91?\@CT; M+P8\#^9M!Z&@MBR+UI$F2:(!7H(,JS9U,'(4\$)&)BN)XA:F#2S*V&0T'L,R M.? ]0/N;EL;(,L."Q\,B3MJ>CNI9R.*6Q26%SU=7$3Z'Y8=% 4[&"Z.EDOE5&[IZMM?UD?ZG%I]/O M:",*\(:Q9AK@SW$8'"YD O8H"@E8!P :U XR9LWYL%N 23B%"P[1;;;D#O7X M;*<=A(YT]B2\GLA%M7W1FG>N>8/JE8N;8Z"V*,CKC$2LN044I$ URK)E:)9A M6@9OR:PHF]N#=]?"DCD=-)8*[C3E2B2B18>)2X,[\[C13F4:64I+B:97?M ^ M0]UBM[C9EO#0MY%9".2! #*)\'D9%)) M!+'B6!?:(K3=P1KVIP/+K@>55"& M%TNA?XW50:D&\]@&,YGRV971ML[5%H7.+XRKZDKH!*4E>71K'JQI\!*K6Z"& MP8O@L G2B!@#-!FH<39$D+K>G UX_Q0*E09>!@&-P)270]QH/ MWCPX9I@2S1T!;U0O)J>GYTQ=K5^JJH)O[+[-P> [8 8UQH-1!'<7" I@!FVG MRPB"!+!8HLA*$CCH.Q81R]>5921:*M8C:QFHUY.K!CBKV^86'A6]E=-8=:<] MI[0H%]=7@;T.Q"5Y=(NA!D7IX!KJP&L*& K TG1*!L+3-! 6] :#=@:WYY66 M+2RX&17=%()B>UALE4%:V!T5H2-6IT$C@AN*+&(\B>L"5@(;$*89#&T:PJX7 M=QKZ5 -7/66N2]K<7+O=&0T4W%81\"@]OEQW*62#0:$OJZ>"7.0'A![<#HHM MFM&%1N7 ?5Q'J#"Z@&-8-Y[-A[2P9E9;(BQ#N@KR DA'!,YRQ- MA)B5TS%KF,8.%JIX+7/-DT9!89QUQ$KBUZS\A3N8-F+8$83^$[! E"AAI MX#R!UZ9S%+@1VX,+A@S6<-43G,+):+VMK5QWV!E9-Y19K"XP6M^/*0T!I0 P&[C6- M(.H3>(A6,47<*02AE(DL6MCAJRB51;=]U>65?E5BB@7OQ&%/8.8["@.#*<,B M3WP:G;@X"-: P=FA)$8 30P1CK6#/LE;6TW1O!FK?=6\1LV0;RZ*,/,=GX)E M:"18,@-X0=L(GK=^_&H]5GT)BH<_R7Z&BH48M:WU#MZY/ M-0ND90?:/!)-0P2*F(P P@N4!^$5) U\$(X7,:* -#M9$YX>-7NLW:7L,]PM M!:)_(D&_;0,@^^8=)J1P&. < ] 1,'@X!_J(((:)4"0 -K?M/!.;+8XKTPO M+I3V#54I%JOG^M)V*PL8?$<+,*)ND7& ^!+,G (5(U/$#^" RR"4,N9W$"H/ M.:V_5H;75*E="&=1>=+1ITN-WT8H/%H('5MK3L:>4Q+;X#H9UT?DT6WG M#/QR7J)8<,S!N>:0 -^Q$&% C&0Q.E$?6_/0*!'B=08B)RR"U>1,B'!D!L)C M!DDZI0L"PVZ[\@A)L%8:WFT0;QL&!A,&Z(0 3P25 =X1WG$ A[1KEOIEOJ<, M'9_(( M]WL5@7OC>S"F-?&6MV6WVY\+I!7@5U(X6@*=GBW=;(IH\8MO'T5ZX$VB$']& MR8;Z2?&_BS;[2X]DP2^M--XKP/UQE\B3)[AG?/DJOG _,\"DD3',3X[/&)-" MQ@!BZ"?OL<>>5I/\_:_"^C@O0G33X?:FZ_E"2OI0!XI.27__W!_G@C M-5CJIR1\Z2E8SW7B[2'@4WV<96]S@%0XQLDWKNUNOIO"X^,@^1Z[)C8?/71J M3PMD!KM4PTYZAB()7W>_OL?28D?Q>"#$4+3\3EWBS[EJ!\YV^FLOX'EWOF^? MM)9?KQ&?2Z*>-)@E% PSI%\99"S?&^:\V:8W%+ACG)D M/^7"#FT<_/KX&TY2IV!OWU*"%>B^#:-6\62!R:K(&Y ;%/8RXHW >S=*?K*W M^CP>GXM;WVOE:53'ARM$G^OUOE6*4N?*6SC,-;Q@[VW1*=.9+\M-'8)O M^6IA^^B;GVCYWLU/\(/GE'6GWIVVU"DUG(Y5@>(&])L/O.KXGF6'1,J>.EWD MA-%DPZU2BCKEQ%7 *-BE6;(MC!P=1Y%KD_/TGM,5]MZ^E#9-_9FBFS9%^=FW MEJT7-U6F&5U65(&?RXM)M]%6YV\^(>=ELCN_4:@2S;NT,PRL'HI.:Y$:=+7; M\^=YBSL? .\.>X)P+IF8"A"2_)=\;Q-&/ MR-D>MON8E_^M//P4>5O'GULY9B\_+;3Y9MF8=.OE4SP#76S'IC,')C>'IA[, M]R;^1>;^I\C]9W=2;HFL6[XG?'I>J/0^4Q2E01A5&GK * M+\Q!X;JH2(C J/XG*W#]?W?CO"#<>'3AOP/SV E@EOV_-.-I!8W@KH'\46Z.9E4 MJKY%,7Q):)X49R7&(:?Y@.WB\H+ DYL07F2[#B9*287(9];N?3-?KY'YX4(J M]1;*<.$PVI76;A0N/:\Z@MF!E2/W?K#";O[K(*.IQ)3%5PD5=)0<33N=83=( M(JLLDLJLT =9H5CF3HC(E>Y)W+[[4-N-ZA4]:GA4/[Q!RX >]:RH2$Y\BZ_A M86@A+\B[Y[1GP5-F3C[,G+Q8>!4Q6DE@;"RG0E]/&+/:&C39^+A"8DGR$B7D M.7G?M3?'%R\]R%7>EU2(0^/=G/ ,*4WE0!;(L>)>@"8DF)KYI)P2KN,T'YY' M]HR48W*YSTCYIM9V9:%5*HU:!=DND>&VVP=%T+8Z&]GM3%!R:4HLNT\57S6S MY\.7]D)M2Z&B,4YO6BV,R!&D8.WDI[S.+,[*XJPO-XQ_#@!<=TK=WN)RZI2P M6>A" (=!;.8F-HIK=X_U#1R- M'3LT<_7(TMYM@2E6N:G3K*DJEQ^<4YZ\X38'1CJ;L+T@)YQE#O5!.]0[:S[L M=MLSUR#W0N-3G/SWS+T5V=Z=Q.[Q(G2NW>=:-VY!'?(&T+35JJB#)3D/GR2- M1"HOB7LOR\R99F MCWV#26*X8DKE8)F%Y^U4%H4=C&4[KK+&+O)CL6UY[D9H[Z#^:%IW==V_9G%S ML% C[40^'U0GJ_'UDESS15J@62DO"ED361:/'9H%? P'V^+/&5Q)O1P-%05+ MM79ES$Z$ZW*7B#^8/)X2\M33NX$/+B"[2RS.T/JQK.+1F*W,.J7+.MT*7R>1 MO3UXI*:^.F!GP85:<%SS8M8OT0Y)D20;]/,T)^0E7LB:RM)M7HZK=OX6.7:= M>7^HEV60X[5 SQVUYBCE)9%CLA^'RTN,D.?Y5U;,#S24 FKY$895H GRDW8Q M';O8LK-HZL"CJ://$RK3V<1;8]PC=U=@L_&[_>.IF&KH5:-.E=S+6&@OE<%P M(([F7I%<0 Q&C.=(EG^W+SHK#T. M;&>U)!B(:UV\*.49FC^FCK%;,_=$J>M>^U@6=Z7(CAU[W)6D_1/Y?!JV*]<5 MHQOGND*5U"N=OVZW?<&.K[])R6:5XU+[I$FCFR1YJ7F;SP38*PVUI@SL<+[$99-^%A1U[';K%*,!6R MDJ$=CDM1 ,S _BW6UWN0'D8W_MF@W*XY\T"_4,7>930HCS0Z/@V!X9@\*[[, M;F415V;I4F/I7HL""YFEJSKR!:<^FTDSF>\VXTUJ8E_JIQ[<$'7 M;IM&%F,=Q'UWWR^7N%62?F$N45ZY%#(9[XR:][K&7+\VUR8:P8QCPR;Q>6'/ M 759PV&J[_S[>MG_XG:,%\J^PG.G/+H85ZGUL')U5IR>AUVW2&2?Y! I9/W7YBCKO\GQ"PN;7(>KK_>>:WW, =Z35_OLNPSXHR+ 0](I M3Q+ML(TMP(-69OD'JH]WON.69I'_0*$VR%\7RR MZSUW )/=]YD:(J7Z+HJO$YQ#.E3CSZAT#&'5"RST]A6AMKO P;%=$9J**D+* MFAB/YNK.5# W;3N=#OY*SG M+!R XCGL)$P'K>/[^ 9>T0 I]#&$AV9$3"5^=/M=8+&M8:C@H;*5>RAUV_>(LDCY975;O?[WO*W%(72I]7IZ*U M))()/AJ .CK[K8WVU9X; W%F-M:AR@QHYZ;=I8?G-.CS^& FLU3%$7^ M'=79 $T41KX=KE^GMH]&.Q^W$CX>77MP*O6XVE3!&0;39@9EWYN2P^1OM4;1 M-4O>9(+C%;6M6,^&S^K9&T:;+X==W%"G?LEM*C>V52R GA5N]2P#SK/PU#5" M1^HW3SQWM*-_]U[\E?G-Q]NTD_G5WZ5]Y-C][@;HL^?-046^7NCG"[JG%JZ* M5[T%/]4[,IB#9-LX.?V'.Y8#DI,W[.GLW%=H/ +'^P^:R(Y>S7^_WLRS6R%_ M66_F^MH5'7;8F2O8G=?LT!]WG"GH!>G90L&[2-276\A/!<^A6K13/]%RF--#ZDPZR-S:, M'4H0EH;FNH,I@Z2HZ>X H[XC$[5OW>"9[B#J57V%:D_J$C]A+!?SH/F\V+6W4:-Z,B+ GEYHS'.GR.:J+ MS7MXEI1FMKI\7F"ZCL9"'9HA>EU9^'BTZ\$IT2,KXM[IBJ!M/:%%N0!+Z&;< M'SMSUS5/:A9R J:HL0S1HG*>!T5*RT^>>'^LH8$=!!%R#4QTK>?#1,@%&,$8 M^?"Z: ;2@%?8-^P )\H8?I_S9H0X6>B0A0[I#!WZH6GVS5$;1:N'RX%K%-[TSHIB7F>QBP2R*2+7]>XO<3[#>%:+BM.(P MTTIY+(S:?;H8RSVIMW_$>>KD A^$$YTAQFESX=-^@Q1N2 MP>Z%OFW<_3$+,])DM+(PXT"T[)&$&4;HW/6)ECV_'RL/\E/;.H\U2)_HB!,$ MBG;S6-'WD3N*GRDN83U[;QYJ#);%FBU$JJ"ZDZ5:[9XJT5)CXYVX$L/F&6;W M LFCC$5^JV9@!?!F

,%A[\0]Y#Z?]"G[@VXS[=PE*F)'[6PCXR4B MXONNZ(O"R&A?=2_5?JNP+J&H7QQ60$G$UYY+E)R7]QQ!>-A7]!TV6%)G<7== MHX-SW6\Q\SOYY./9[1ZTS#,_Y T%QZ',P2GLW4EDVU+FT?Y[3\H%!7L5NKI2 M2I5Y:4)-V/KB"F+N^-9P.2]R=)X57WCE:MK4=G9-PK&%/6^5>W]29L^_(/^2MISDN^YQRFX[R"XW^&.B'%=$])>YN7&/'"*2? ??Q(%2 M/@F7R/G@"S!!$';FMRORY(%C#IB^0=O9D>4!B7]%_BF_I;9W)Z_D#T77?/B+ M>T]V@'B>N7T7I;(R)A'A"7PS)K7D'@JQ8EG8")]RTYB3\P&/^W776;OB>")Y M5XV!-M+8Y'YQ*<\P+!$@0[P@"2=;O'D22XD#G.8B47FY[Z\6JNTO\:B[KO 0Q"+ MW28EADJ];AJ=2JW+%!M%C8NO)Y>XO,3+>9E^JN$UO9'9-VHH_&RQEK5N>UWP M1<-;*(7+SK#9OJQ5&U]DUO:(M=,_K:W.&QW/6==L1KXRI#/'ZA*Q)G>4@D@+ M0IYB=T^B/,; ,C'EQ![AC8'/@<."<\GW0VX(M"/ MP=3..=*V=]WHR_S8Z;MBL\4M',^D1P1*8,!9D<]+U)'LPGI3F(GAU\<48&9G M2S^N+9XNP7^(G__;'@]70W%<&DB2*K0%3'46^KRM=M/BYB\KQ4Z>-K+DT1;L#FEGLV/;L("F?J/$#N MP$)+?&$NTX*;D*E<&K/3Z84B&/[Z1,-FA>MT"6Y($I?.4S2=YZ5]AX0=YGG2 M?X2C?C2;)=L:T21GVH$Q\8+(CT_\,&Z/)LW9;L),H%)VI_P1UF&S.^6/J"3X M0NX>4!"1[ <[DIG:FU1-8&1-0Z(&DMO*]87+Z9 MZD[0+6*G7]>7@3]<,JA;U+CX>G@Z+])/G[J14)[V:N=G]?/ MAUTUTH)J8W0>T@MJ2826I)[RS)Y+@X_+)[XU)B$FF:='#4GFSF:FYXM,3R*9 MCT/XE*LN%M,SIZ8,AU?ET_YJ-JV)$-_&IT-P3%Z0GRK]9E[]07KUQV:JGA-R M\<(S=>WL;.[TQ\Q2U\_7HQE7)$(.=HJCQ;PD/75 XP%%-W^6I('EQWF:>]=R MNF9VB\Q!&*Y7YV&.1S$?G/Y]>U;EX#SDY T/KGN?^=X,9KN.E0LIX<[B,_IM MES17QR<<@".]1OKDN \UR)SI W&FX[,;[\XLZ6RDM^B:RJWLMKRXJZ/M=Q P M"$U:B1T=^,@-DH7N<4I*#<>EBOW9@II33:M=6=(G[0 \[^3X 2XOO3#EDWG> M!Z3YC\/S_B!$5%M&?Z'4SLJ*W73<1J.G.]8\1@0Y((#A\AS]RH12NJWBDVYZ M#P-;#7MBQ^PD1A%- 0%ATH7LN7$W 2*=3CJ:Q&>UJ M=5D9$7DGN_>D/"=*>5;G4=R.6J,"POG6E'G^G*BBT.FD6-IY*S"GF6=+>\\O2. XT0GLQ2##Q2 M17S5J5O'W?&=CK-3=ZP "\K#]")]@E.I/;*-6X]N0.D/"I-5O5J?J&VV7T5R MEUYRUTN-I]^X<>MHHIIT(&W73F=0.]2]7FZ?:<\,N=51^Q<7"\IQP]&H%$/M MU7N]_A62^O4[\%=^R-_K* AM:YW\RG9-6$DL2O>*EQX:^ MMW :F'1J/9SK8(QSR#"\*;R5!+HYUPMA>')##R)5CQ"/?/ P9LB/SV4)QSC M#\L?F_8D>"@(X1?Q/1,_WV?^J2"^:0>S"5H3B: MR1]W-,.+#YHU[<4__X$OM^,:$XQ\HD?'_WY("Y:\9Z-%*>I_WT47;I^M^U#> M&.[6BMSIPG)!N#?M^.O__3_WI[]K*#8:_=ZZ-O1E8N4^P@7=Q\@I( M>_0M- MEF@=;-8IRC_96V/QZ\XH$$+D:.HGR_]O[M[WA" [U)RB5>$>S3:VI##!5OAK M\[';W\6&X.Z77F#'^RU]/$&AOL;WUE\B,9"! %AF;R0-HWO[HG1(2X1$\1 M?4XT4(F8M[@^LA%[]$[*4MX'O*>TYS;)2NWV0*GG_BH5+YO%UM^)"W36*KVC M,GS]_-C?\VO!]/K)K ;MW*"JY-1643T]&RBGN5*[=:JT^LEW_7;C[+1(?ET^ M:Q5;I;-B(]8B2?<*/8IO?]D?(M6_B"CMX-AW?!D,R0Y-[ M]QDD#$X,?BN: E&,]^BW>.C(W)]'Z&X8_]BVRK?&KG]GZT[O M6G@',*F3B66]KA&)X=33P=.$K]] M#,UF$PBWDDO3D_[/N,T\!Z0++5BC%Q\=D&A<,&G&>-\G/TF_W=JM$[>4?)^YI/O&A"Q__7C[N,__LZ#:$SLJ4T$?P)B'WND=S*W#W0=[,TF M^/?JR.US.DA.;,G'H$SA!9U>"81;AX$@^D.._YK#ILUF]0T>BU16:Y]]!0:G-H**4%?JBUER[V M@[$]*Z[L0#-"1[NE*= D)@G0,\3./6K^)B:0$>C7Q%.8N<:N0\TVKX2B6K#- M@;;&S7)9>M#V=]8J/XB\"P$V2/2]!'<5[,_]SC\P@S!FVSJ+=XEX_DXHW4*^ MKRVH:"CCN36AINN3"X%1!H7>\* 25A#=;3V!0B HA6">: M"/B/1B,?Y#&,/; 7TGX&%E%K%-?MJYI^HSC]+G\N"QU_W+D>/4-[$]M: UXW MB57I^H[Z S+UNU5O2/N^C)JQDASUN="DYFZ*1' 03+04 ^[^D;-4 X'2LWR_>F^T34378K^'B&$LU' MU@BO\Q8P$CV9^GT.W;D5<EPNKJBHBK% M<8VKUOID/7JLT1M"C>3\=(@\?O^PT0':7:!0FH!(;>Z,O]-3Q3BB0>XICL,D MY*_[\10VZNAND%N'<=T'M7!_D-LG8,6;SQ3+L\:L/==Z5 4Q6K/\02Y6X+ =&\ID@@[D>-9$HL1'J> HMVPZV9U\LOX66QAJ(9,RCVG/IZX>9]3_RW$P@N#:C .\;^S)$+I6:^9V ,@5FLZ\FG@ P;365B8EP( MVV-CM 2;2GX@FV=)2WZB\6[13_1QD%N"R7E_T%*U#S M42@7[1.UZS>[/J.Y8)]UCFU?RZ MU>&9KCKUY0ZG*ZH!P03 C_^Y>ZA #M3\Y,X&_.M!QN7]TXW;^>^7)KB3O!$0 M7-2Q(-,:YH'HG F>(T*ZKNF(XTS)D@6)PI^3.NJ#A;,MHK'"HA%+(T$5V'H# M8OO=A! :GW3GO35[23=4]!*$Z3@Q&$=< #?Z&_[V^'2+[&:R=\N)^H?-51_]G_F*L5B9^-";G)=),GG1V34)*4T MBB:_DRUDR#XV(C])_9$G;D\=)^G$*;BAQ/K\]:.OE$@>A433?AP1Q=&9/;VW M=EBEYY.5Y#_9 M)0$4!$XN-B#6(@ F@1C)*=I^;G9/@,@'B8O]>U:W:?S$V":9)G@Y?"::A&## M2W?)F]^II?CT"HB\24WYWE$7P68=D_6#3>=[N?\4S^\8=4]&?DL6+,R;VB'A M\BSRB>T,27 91!"R[N7CSUA]Q5R9K/.;4O?>205C+YJ8\$+X.(JG!J^]CMS$ MQ;C+SVVY/?$[BR;R2,CR,XN/0RS^@4_@[1?U[N]#YK063JNEO:J73.CR/ MBUM-2,3R]P/W%F7;8Y4?QM[#J]4FZ"EKOVCA@>& V( M&A<#B T!079C$L?IS:1J1*ACXXU-FB5WU]^O5,55)6(60M_6HYA_L*:%?4M* M0EN/:,"['N9$2]\KT>7 ]3$QB(=)C-AF&A.2.B873@1QO <&[^%2T&\M_[ 2 MEXB(OKXO0W'1#90QX>#()F0A"4YWA)(L7[RLX-8+V%DE1HK?LAY^ DN,B9 ($])I$[[P2$.43&FTK+,P M(TDP9.[A)P1&,@76E#3$\B*L ].:1.NL9K*FH&..E@4!/?R$1;$&RR-&$PQ= MT#@.49INT+R&D,4PI@5_8X2M=\BF8.J\K%D(9@\K9^!M%*V9DHF1($BZ+$H/ M/D$NID>*QP:+A>M$49>16MKXM%A;:O&^YX=/]E;V['SE7B*UCJ:URQL_:,_4 MKA9OV[P_"X[%P$61T2B&IN GD]@6_%_&P!(&2,C! MZC69D2SX@F59ES!#(WI[[,MIM^/SLW)'B60O7"WE66UZ6=38W5FT$%\0D=6Y M4;&S\B)!]N?-\Q$\N4T+"5,&#)W7.)IA-8DR@*6(842!HG6=>S@+C;(0 M8@5=U&C!Q!IG<:9$J"1IM8QIRHY@%N>9849,M4 FL:'"Z"'#F#6M[[&)7/AGVIEK@ M]*M#:22UK+%R6M2DK;'AR9-^8[)L5[Q3A[FZ4MPQ.UJ5@7K2-B]Y!IG(,DV- MUBG O GHDDQ@E,Q:A@Y@%47:V)&3:HWK7/6\%56Z"I&EGLCSL;;4Y.T5BK3) M6;1!:;*!0#N8%LB)98#$R!S'T" 2/&UNCTVM>K6HNW+:ZK"\Z%C%,XD.V!'I M4MHF'P,,D+"IL8@'\EFLH2%9!X0;NJSKC&%@@=T>_!IYRU)E*,L*:O"*UE'$ MLW+3ZV+R1 M&H$J[36Q3%I' B#*P#H$(81X3"P=Z1^)TP< Z2UD[Q&YU MV3(]NHJP4A(J0K,5>EIQ )SD=@8'[4DQ.J<9@@DF0033!KB@@)TT+5B<:$KB MCIAT/+FC]L:BZ;3]HK.^ 0_;$($LV]J!$)M6R\/U_-13V\(24T+C>L$P(_+H M-B5 ,D803!EHOT(>T110[0 ZI7B*2R;%NC!'34U[HT')=136&IX M66W/Y:OJB&G!X-NZ!/P 40?2&)H /@OI5T.$/: (#8N5:),U!'Z'+&W#GO3L MFXL;JBW--@94D3) R* 5%$"=K2ZNHJ;G2$IE6+Y1BIHU/U_#X-LJ M0.RUH\IVL@'# XZ$I-U@53,\%3 M0"R#+[UU>.]@1L"4JCE8R&Z"5F1TP,SH\(!'Y9\"KXCB3N)+_ M/WM?VIRXKB;\?:KF/U ][ZTYIPKZRK:\G9DY5820A"P0MI#DBTNV9'!8##:$ MD%__/I)M,(:D.WVRD#1WYO8E(,O2HV?7LS@&**7 K707-$T](R0<%50-"?#6 M=1Q8CJP"<6*J R[K-O =69$S@+1LS59D:MJ6:X.FA!$#!1=43DM1',;!+U$U M0WU !LBVB691Q^;O0"I',PR'Q04'9@J5C,P)J!(R%$(MV06!A8F,+9-)G/UJ MN@,X"_(SJWS"JC2-J^=D=0&,LV\!O0;-7,I3%!2>H/[)CF82 7') MMLNQJ"NNB[2;!MX](:*9EEV MK>]6Q]-V23^P+XJ=PY(Y[&ZHJP ]#+H!H(O$F,:54!M$*^S8!EFG,U=2"-M@ MP_>MTJE?N/$KY;,>*H07Q^J#[76W*:&MZ_']2>G6+Y0G[> \Z([-@P;9HH2J MKDL!)9'E(%@*=G4.=PK6A8856U*1HZH;3%B:5DZ'_89TAXY/+\N&_WAW99UN M54*5V\EC^7'D'I5G->HT&CUO.*G.-Y50"=@F0J9K.1*\&R,""R ZL52)R 9Q M'$?-2 W+E(#@75>SP/[A& ;0(S+H7R"M;57Q4TE5(;E8 D41=## 1=M,(1,$T2)#7@B@[BT56.#O5\N+F]L[>CJ MNMUDZ'A^?'=9/*IU-Y50H"^FN'#@.@.I@340SZ;"-5')!4W'A*FU37@/#<.? M'![7RW)[M#AP0=OU#N:;2JBIN8!%0' .YEB-# I?*8:E8PWT*ZQ+"MJ 2?%X MJI-Y4P/%_,$_M7JEB^/3?GU#"05= >PYX@#/1RXW5@R02JJF<#T=CHNY6#$V M##=;>S##1^?TKBWCKM0_>+BXN)AU-U1+&#DOT_+1P^G-5?N,.5?VV>D=0*-N MF5F:<67"" %N@DRP4S$P3]@AX@JW2C&HIY*S*7@/G/F!_\P:S>85]^3\X6ZS MXL@++C$CYSV_EHBO)+A7-PYP2ZZ5Q!T(F4W]Y(OH D1\LW9/@E:W@?&8S9NH M:9 L+'ZA%-]:_FR!;,5XKC!BRE6=FI]G#+N ]0F-)G\7^%WF7]&M$L_%_^%M M3NK2=CF4V("^LRE[XUNMZ[T_B'<["/Q=PONCV(FCV-/$ MCAR$^AT]6T!W?Q0O/(J7=[)X7E"_W[:-;2;,3\-AIWM?O @&[[3E2!KM3G>% M;75QG[6ZBV%DHOIN]+^'S!'U&J*_%"G_27H [B)R1&SY4R.'<,7P;.,43J#\ MMI+H>Y:Y@U1A9$&0@__\4K6*WYU/TZV\GFO&3;_WS0 MOG^+PWUSWO2FA_N*_0G?GX$]:_XVFV7>)&*[,/TL;08W-_T^39P_G%W]2(/8 M'^".LZ3M![CK:M$R-503\_-><2+>(MO3]%-*QT]D1_T(P:)^AF_<=5B2XU8 MIJCN7TI%_R2!+VOUDK=&QRPN X_'Q1VP$7,]A]=;CHLJM_LG!ZT63L[I5FU^VBY;&8R\E):]+.*^@S:K^OSD! M?#B'?1<"6 6*O07^-XO-]LB=%QMH)I^HIQ1/*JW*N^/_='I[^7 ZN3U$\N%" M'SF'M\8AXNF#O,&WDI=-G#>V]OK\]!IT1M8UL@VZ]TK77B9^;IFXT07XQ=QA MW#E!U1-JG9>;=F]Z*]=F)\7+HJ5SZ2BCY]C"GFKV@O13"M)_3C3NM*AX]=/Z M)3H;&<'%W4#UAV87B(:+5+2M1?TG-0^;/3^8%N",AJDF47O;<"\'=TP."CQM M 9I65EBZA6[]Q^:D7)!K4ENN>6<5J2NYZIPG W)A)^55)._-P!V37AR_H]0F M_+R7[5.:)''NH.B+QT#^ /WD>5.\O9:UY\F?G2'OEGA#*\"<^Z ME>-Q#PVKM7'S^E%NTFM.*)$_#^M*7C'UKV.#7/+&1![-L8UPM[5]OGBPN+];N8 MU"5,U1\Y3PH++!>5KMP\/$9>:5IJG4OGQ9;9Y?5NN0T$)I"<-TWCZYA 7";L M;V$^&<_^C\E*NHHBIA M+6\\ZW']*BKW9<#;;$\7PK7$8Z#''&#[BYA/J4KOW5&;!GF$WI<#,IJ"/5Y. M,+S*MBE7'3QI7:&&J[>']* Y[W7]4IV*.OORM[^QJ>VO8/9FR%<3ER\D$7E2 M8(?=TLU%O[08](XK[;GORT5.(B WS;RLO%!J[K)PA/,@HZ@A=W3?\J1<_,2D MO9=RGU[*'7FP4W;NW3.Z0MG(Z[R=B(=-9Z+HI^2QW5%/%Y=G1P/OMCKG+5^X MG-/SDKR/!ML+KAT77"_&^JG;[12[G48#G9T?-@ZM5G W&18YUH/HTJ2\J"GT MY2T^<265@ST68B?C,[$$>U5VERNG_;XW*^]FJ.SPZ>[E048>I.[:G[]!N7T8 MM*9C26JS1NFN5]8:CX]ST6=.W*!(G]J"^5'EE)8_)8-<,>;XGZ(8V=L;,^M4 MK@"54W_&K;[?A\6PK[%JNF.A^=GY;,S[58IZ _C<#'G/1YY%)F9 M1\C,F])SX:&_)0ULDW2_(0U\)E'W) F$@3XA9OEH4/;D([M^<=>Q]'J1DP#( M-M7((P7E->EWB"5[5@KFSBO%@\HY'$%Y7T7L4UYU[:N(??)[F*]216R9QC@F M"RX/?G-EXL,9PUY??BK'ZC)"T*?CT!^F_=/.H&WVVY/2U#^[J ]*(R8ZC7/] M607]6/?Q7C6[?SXSD*K7G?&Q545Y\LAJ51D6,\5Y=U7APO MC[3?H4!8JMJ)34;]')B#@6C/NK\7V(O 3R\"ES52#I9HO84;S!03+QYM9B!6 M):ZNZ7/C6IE;DLC#Q\C(R]K/U7'XB^TJ9]Z!"!#,&2R4#WO>>1T?;XACVR2=[\;9KXJT\' _\ M!6,-W@66T7-8"<\TA#4^K?J&=[/#H[%6-E"'NI,'2[NQ ]2%'8NB,SI8>^;/ M59SYC5!_+[IV373]"N;/0]]W4' Y:G=4JW,G=4]KMX,YQWP>!L8MOM\B#BR1 M<'%MF3!57"8)#!NLP+E7<_=B\K.*26?:_RO&]K@R1YB4YHBY1(IO;&$8VD6E MT[A0BV?E0FW2-X=WA_U>&QB&)-HHY!5#S2O[D?W[) M%J@S/E3:Q<6-VGHL .QX9O9>- M644ZP>!&A,!/:\]2&3=0>$T/R[5>][ [NJU-M%'=DN6X5)MJY(UG2?NWI(A] M-/EG$7TO)HCQ6?6H==;I/2+2;-EG[&1ADU-!$+R01-Z4C;S\6Y22^(FX\_.T M0;D/NWN5E*/?,%3W4TG6YS5E7+IJE2<%VF@?4](_I7U9*5QV+3FJ.('RNH+R MLKDW+M\DG^LW))W/)(*?IQQ7N3VOGY1'HW[GM%O#QVHP5R+*X6Y<):\;9EZ1 M?]B0Z-]3OK_=J?\HEK/$_@A= ?,'9!RROY(/Z==RX=N+9.V0/!3$D8^2E10& MS)W^1693/_E"8%WT38S@T9@4QL=C^#F$.Y$>*4Z"&^N FP<^C,[2Z]R'+""6&>,)GR[&Q22?OA=U8=/C3P\4FBG MF>-+<(;[''8$-SY ]4AGH_XHM7C7#*)_BLCMYO_[+$SPO0_NC2V<5S^YG>- MOZ-ZMH-[?A^GS/,)_Q\.A-WQTKSKP;^'E^9]3O[5[LH_@.U5V32)#WO3<.J/ MYFX?W>GJHQG=&]_C'Q)"N^ V_YR;7>&UV(#Q=.I=VZA2.<5=O&64-W MZ;A2__6^5Q$-;+G3H^>/8955"U;?LX+V:;NB-ZW#NJ6*V#(C+^M:'NL_UP?T M]:CI8T7&QU/3!TN/]R4G&:7(Z8UNR>OFI3%CB[M^OS:D-UU\5KGS"L4W(*?R MZ>("J0?,Z#=/NVUI?NLW47EN185.33,O(S4OR:]9[O0#Q.JY'X8Y-_"'.=[' M0ISE:Z3H?I@'XHOH^KD_]G(O4Y\X0L]1MS)R_"'C> LT"^#[OV^%+<3;( 1[ M;>6\@EB "A/5.7 NS[J6*&8J&;P]65Z1U W:_?-SFDF?R&6S \C_^:34"Y%_ M.&DL+K#='[0+"T;;YD'MX*%/[,>0)47\Q4 M?)^33; W[799:&9I9J-@ITF.M)M3G?2/:W:EK?CT\7[$285G'JDHK\B; M^N&GLNVX,'1(V,O],0L9!8'X9VX<^/<>93E[D=A[HVZ.[^W^R3H5GUDH[F7? MUY!])<#BRPAUZ<&B'?*>94N=N+A$W^<$8_]Z[@^G%SV[?39#G3!8F'Y)Z5JB M.J^65S64EXS-^H1[>W OY79>ROT\=62)XKI:Z-"3^[M:GURHE>K5_ R=-NJ6 M*. +VB)"*"\;+ZPT\:EL12$>8^D(_\];WO]8(N[MQUV6H5F&\1X]_':*Q7\= M"V?O"_QYAE])F-?/J4.TA*G5/_&.VDUS["MWK:[+)#!^-JOX/>\C MW%GV'ML\E!L]*TO(]49DY.S-GUUFW7M+Z*=(_RA!Y6=UO<-);RZ'ZM%YNW1! M.V%+NRI7CHN6)$K68KSU.FQO_>PEX*>1@-O)X$D)N'@LWI]=7RKGY>'AN .4 M>G%QY@IZX,:/;N:Q)/]0!";U#^)QU=D03MC9G;BF?[P._B6C[Y*ZMEK!PZ45(V_U6.ZJ4@XC5=S\G[AG>HX$##!S. X\+I5]-Q

:+#@%X.#&87? M9X'3(_S-L&O@#%$-W]!WIW-86#X';,'IB36. <5Y:H&P$J?P-A*UR.%+_@9H M"+;V-*IRSR8S;SR$L?G^^ 9&04=?CE2FBE40_1@O_J3TF2P=S+WQ[=*Z?);\N>?^=PT()3!2?5A$8X_ M7@B&$^T\8%V8F_%"C&/"IPO3,!CYTS208T X*4:1L\D ")#EPA[CY[)#")A$ M>7' <41,<&#[/F+5D Q@[? %/\X-Y$F0#"8D5(B5D!\7QR2 =8R4XE6<]0:> M/>,S_R0G!\QDUGEQ4;L]M1_+_69=O3*URZ!W>=?]!!J-_),E4B]9P!-V2)?5 MW/0J@;UO1.45Y(AO5TD06(]:]^3.H=W[\@23[L*^4GRLS'F3M0U^_2^!V6\, M]MV0H&\.]G8X.?'P_.:\O7@\/7/'[=/28MS]]O<6!^&_$@YU'/BS<<+VPW4R M&Z4B^OG2Q0/9#/O<4\GU.3ZE.%T.\SS,%(X9%_QLL/B>*PI2/V1.^B$I]=#6 M"?D\TX1N8Q[/^0&L#40OZ7:!1<+2^=2OC5([4IKMGR*1*%28Z:^\AD23]J&Z M<%KU!I(UIA]8C_+9<8W3[C8D>@O:W8U"7F\.9[VM$MSBZF[9E MJ_[M;W7SCNM?:[233TAWC5:GH@!EHKV\W;E\#0+85GIM[706K'P_(:1VU#]> M3 _KM'SX$!2 "K3WDF!?B I^".S1W?FUWBO5M7[!N*#-,\LHW5T#*6B;YMW/ MDT*JN4>DZ/*I.(2]T8S$OI/-;ZAW__?_PC^)4NP,& FX&Z*7%)A+:BMRO76] M?-RK^QK6LZ5EG"I)&VG-1P4CVII8MOCW/_\CO?S-FX:XZD1J7W&M.UDX3[JL M8 >,] O$A5?_109SL@CC?>KF=R6I9_'7LG"%$FGRWQ7U7[G49PZ0#6CR GXI MF*T5Z(L?6Z_1EWSIAQX_H+\"W@<'CI[/OC:O.)JI/_Y+EK[SBH%#^#/>&):^ MZ^H;'=;3!LW_DEPOX(3\7ZU::5N"Z*^^,OJ33P2$ :0Y^)]TVGS\50J).'"Y MA2_J+@*YQ)9HN'1"D%=T1&QD\#^7^Y\%6:E6:Y7/J?D=Y7J99> MT4Y]^?J4U?JJL+QFM*I6+=?:U6+[L-(J'^9*M>IAN=J,/C5KYY7#(O_Z MJ%(M5DN5XGFNV8(O+LK55A,V&/$<1O],4>]33&>=8K81 A&!/135=&VN(*IKR+3KO^ FLF1I59<-2B.%8F*J:92*'68I)X _3 MQHXAQT]D.&7DHK,MTCNH3QH+Y09-SN^ZY=N;LELOS2T^5([DF=AG<9LR(4KIZPF8)$' M$I:,IKFX13/W.%R"8') "JV?N_V65/>CW'3!/3R0DIX# _ZP_]RL+@)*P\CQ MQH/();.2Z?Q@UC;ROJ[,YYVNZR):L,M/YX<-6.S-R_%NU=P1!OKE KX+R*@; MN;KRD9L1Q##'+\XG>)B=R0@'8'J^/+\,<"[83S=V;?@?;'Y^"N MO]G4!]H;>$-OZ2(-IX$G=$4 T[/KY8_ RN"=\,)N+S?PR2A,-A+VX!!Z0$O< MZ^ROMK%+/M/6$E@V&W@ VOA IVDDBMW3/398NE+%<8B1P*K@V2B\RN?.4PY6 M-IUR3<&&E479ING]YP'3' 9+X"Z7E#_:(6-/&*!P!GSL9:.4.B#NG0_NN=.U M&*;\-P$3.4 !G(A0W$D8'25\3+3WA;A^("..@*#%LF Y>X*JYV0.] !K\.!5 M:VO-45\XQ7OD/KI^F 4A2PZX"]90 N.GDP>2R:-'$J+Y.N4+;&&#+D&&[![ MSN_YB@9DOO33SP8Q[!*$7*U*Y/).@4I#WH%#7"'D.$YR%(\F]P+A>DN,>4Z? M]V UC99DEOCQ8;@@TRR@(\+GO_3$#4YT./GD\627,3YP"X]/%1$ ?Y30>SY_ MR/F B- Y03H:$2?-*76;M=>XHI=W#^>R!>SF^.VID[,^T']O-:>=+,7BNT0 M#,LR$ F8HMR*C%6#;C@HW-V,3@O]TDE5.0F"[L7#HO@MQ\#*',/CTV#&7DM% M>$;(;N@,/Y2XSA:)"WODI[#YO+,D%- Y1\: 6!P;HF('8C\A\&QQ69?6K !@9#/RYX*]\O[R!QM2=#9+7 JCX M]B(*6 X5,*-)F[PI>5ASQ:X>@%&")Q=L<:_-A1O@D_CM.;3A>P3M;0!@BC'( M7\.@)5=.ASB\,4\^(EYPQ0_Z K!K%@C("EMG$?W;@K<=#'RGOV37!\;%S>'1 MXT78/QYTQP>R=ETZ,(N;=N+V<<+BD]Z&N;_(ZGB1B?C']I*C:P)ARV-TBX#@ M ,\)B.^>:!!KB\@^IL1(T1L#ZK&(WN?^#'10P8T;3>>,C7(\>@(F G8R!%1/B>Z_3@"6-$I;NKK:3>B)B@$_PM%BN4;%^/METFN*_#E\O MY:M839TV=Q*#;@DU;GP#+^ ,UP^GD4;&_>N6& M(-T&H&@&, 5@4H (/[@$&O&._6#3J;X;V+>2GR!$!D+HIX^PYX&J'SB]Q9K! MRX\PQ\0-2:2 /( (>(SLX%FDB_DV5Z=CHWD\BT^=XTEVY&RT.5; ,4(?#LG5 M@H#3I\22-P(+8<;Q*W4-#ZC9!8'_&$D-KD(EROJV;8%HCN3);.Q'PT L@73( M@77"!L),X$N*M@^#PY0TC6V"[1C/51,8WYUY- H<&C,''A0 7KT>YE])N"ES M>B-O,F/+X*3EZOA.>DP(=O[*&$S>*%["ECF$DI""+*!@&M*1YK0&!\*)E$OE M\*^7]AOZ1[[#-:=3ZCY"7.GP-10&9 &*TE^N]\#H-I1/N7F3.Y9(O*Q'\3^[ MU,S2,M&TXJ6PJ&?B:8V-$%J.E&KIZ'^RD;J90-NTA%N_:OK'1M<++CL26'[[ M^UQ@OI3D%@FYF470%0<%S6J-*!)J#[C"3"B?%O!W,O/Y_PB9%MOQ(C6!Q0QU M33ZL<\N5RLOM:'$H">5M'V\SSC-B4J3?EQ)_([!UC^"_,X++/XG@6Y ["91\ M%:P.02(.2/ 2G.:R]-\P(O/^EU 0C/B5%XL])IM;LT6CC8-\'H1^'C0OR@8% M[F;GVNI2//T$W^">ZM37D5RE?)X@S,HTKL^NPYL/B(]WJV#=(6ZP9P8[Q R4 MGV0&_HA%AH4@W WL%53U'/*NJV#M+:HO'[5-G8M_CM5P82=NBT+UYZ,UHV7E M8GJA*>.M#)FT?;DT)I^AI.WA)5*, -&=_<=8/['!D]+8E_HY9:$3>+;@E@%C M(B:>VT2!3YQ>=(<7<\<O^DL^ZOW!_2GPF8DZG^)_>'G!1P6WXIGOQ#^1,L MSW U--+1,\_SPPD3EL\?B]Q]07*=XHVBL#../=%-S72=;Z?M?H[9]_[@GI_R MFFP05TA@-\LHB"7N9A8ADRQA77;L6Q%1I9A&*:F(.KJLKH>"B@137(<'9Y0 M*;*P:U++<'D\H(EU568NTUQG_0E7LUU-MJGEV(YN89G"$SHV+9%-.*G M0QJ?O>#:^2NM'8EZ_&1W=KF$R[YXW@\,M_SQU8NX/B/WQ!MPJ9*^TA)Z=.S< M2:RT2.$'M3*Y<-MJAVRUU'(5=_ML2]_-MD7,O<%@:?*D7C,+DSB%32V?:\6P M^'Q\$>:'H2=F7=?'XQM\'BD)L!HS 3#0GZ.0!9HR3,F0;S;,Y\(9-Y+"90!F M+EC&ND1S.XOHJ^^Y'3KA P8_B)O14P)\#*@^3M/,;S/=N>D@+FEYL:/HTI3? M7G%K)0GT2,Y>J"&K,UG>%\5A>Y,9K-J-8O&JQ2LX;F[N)2$PU.-'(4Q''E,: M/;DZ=^H#C);!?\+FB:^/ ?G8 PL<+\PZ/UQ8Q$C<5DW8K/][4]^'%H!2;G_]9X+.VM$U0&6P;2IP W^HJ/EE61QY0E( M)6^!D?1W[@^^O&_I)XNK#7S[D[N#DET^,2B_+58(+-257W@JS-=\;L#"4(1A M>F#'>T%4M6$\F"VO8>&3T^/ASF$<-"/N647XT,HE%84@)..\K:$#D=]YJV,Y MA0'?P_HA^1(3:*OCB"33;I9O[HRW7X&$<%I:$XJ5C)I:W%B(L57!._F$5(AOF MER&W+/H1^&X/9MIR!$E$5QR1$LF.Y9=CLHB^B7Q3"?=?"RWD?O[5Y#89]7-@ M% ?^'! Q\<0DB)X**8P" +>% (@+[%1B?&Y[3GPN28>/PNJ34 ]1H"3V/T4< M91E0G,*3')TE8=#P76K]@!Z +A\4XGOD!Z#UC$JQ(&REB+,XHN+/.*;ZJ? R MY>BBT*N-Y&:[4#RZF12.R<7P4T0#LVV*8P2.7 */7 H"NZ<%"G_T;"2.BP?5 M)XM.%YG@/)[_P1.B><&(J5!^#OF=5 ""K-W\?UQ\_&"FM8R4)-D@+ABS3 V M%S78"#BD[<'$C8N#'TS,;_'XLW',:?H5,!4L;*!#>- M\45$Q"9!/EOV'P?&L8=(0L8Z*3 1KDYSOA6K),OXZ=3KON5DX>ZQ(O3&WC[&9:&5;;8T%+" M)CK82(3;\7N"74*%5=A;CW!-R ]9M'Y 66%G"-&6!*5N_2Q[$5=R)# MZ=<@'YD"2X'*CSLU,QSH6EA[^@U@[46W,LN8;=@,&SZ[1J$W@RT 6M7Z;$GI MFHBQ+A@)OJ>Y:2Z*[XFD[VK^E?X!H)T-9Y&3;?G:[(,B88'?I_:BR\L<$==/ M0 &11A@K$;R6&@.S,N1S11CU;XZ.6\M(J/M0Z+(>9U D._\?\HK):ZQ5.&V_QZI $O)?S.OU8[52:/<+I@+MSH] MNYD1O_L))+^[1?*7A,[*_\VE=BR.> 46\?ONZ0&EI[3R=&$\\1M/:H&!^1PO M=@KGKPJ?,<+]"WA0H1[B;L<:$#FD2DGG#E\WN@9 M0>/ =F /\/N0*[VIU+Z K9>WXDXH;H=&SJ"D(N'[B0%%^SD9\-]A8J(4DFS" M9>ZA@/C2,@B7IDB2%9I,( R8I'0BX7&_!-C=E+'D> 0K!<,H.H)QX#L FG19 MO;5:SI%@&/7?T9WU VB56##E(1'IC<:IR6[@/\()Q\L6^9P^%TQD-@4+*4X\ M "P>,6<9DRT2$49=7T0>1.6]NTN= ;1*UN5:D!?"8W3F)+:?%] "CU=9+ L3 M\L":,0O&;!H%.OCK*4SI^H5CD#T\-B*IH+9I$N:CXTYE_(:KW:WM.T*#Z)X? M5(97KF*;K6!TU/"D\758J+0G(1FU7#)GUW3^ZVV!TQ(BQ2BK_BBF@VQ)65%K M*&RREL5*IT%;AT>M-B]_^EO-8E_.FN5GE3)@.(LQB1,-,M5&>L;QT M[V3\#LDI/EV!,[;UMUCU)$SGAI 1=XB(,I5^9*E,O:%0OMQ8QQN "LVXTI2K M.5.?3Q5A G>E4^K%NO3KG_%*!4 I'0#^4.*_DLI433"J0!P U,KW\$]K,69K ME:LRO\<%JJ2[NM-CMP6S3T+3 H+KC\:#;AIE"NH+< 9T2IX)R2JC=>Q9(HJ6 M+J98,6O^X]6LB9K8:G>*OCFO*'7>=>7[9H4V(/+!0' %.+F85Z8,FB<(,)WX MR;,RIORR(E8$8]X:*7ZK3F""ZT2IFG&HU(H_<=\SOV%8YT1)UFH<:1=A<9*6 M)/ FE3;"=6W5[GGPF[>2+GD)4 M7@W/NU?]VJ/:NRW*Y\=^N[MYV[M]W.XF)K[\JK&[12%MKCR$*5CNGO+9W.KF MY?Y_>,8;+):5K)=%'("-LI7F*6B+$VB85@J3I,(XH#)2"L6]TXCE8F-R2<5A MY-2**HAL70T/-A]R_>Q1I/^&T^U6UQ>(1Y/0/B!M'Y"V#TC;!Z1]L[ CZU2U M%B"70IA!%6I;KJ:K%E9UQ[(-T[9LQ6". M1(G!S$SH%S(U6S(UK M5YW=S#>/=/NXM]0Z7]7'V=NB4L80RZ4B4EY=G_P)A??I;5WXM@;2.1"!.HEJ&D8[2_F4$E=2'-X5G=!FC%<4E 1: M:['9YK_A C)SR4&*H)L$^6-5.L'_,)JQD&OY8R _#6G1;0G/G5R:_7S6)*7+ MI[S& ']1B8].*]C\HHO%A7YXTLUX/(@<=GQ1R:Q" $4+35>-6\X;L&G@)U6D M#VXJ'1/5!UOO2P4-R622#JA MP6Z=(^-@BE:_!)P(D8MBFJ(R(S#OTIN[#(1,\M7C6R'!3)8F?WRKM0)+JIQ2 MN(PO\T8Y%E7;2OH^I%^9/A'J4?%6^"\3P5K1*B M+'V1EN3Q^F,F )6J= >G1KP1+!T4$/[;LJ;+"JPP2IS##M%J)8XW$_CE]'A5 MKKCVHA\L"[TD,:M)8;ZDBDE4G8]7LQ"!;8"MP-#8>)G8)7+S(O2)8M?<1>)R M%$@<.ZES3DR)>9ZVMV4\G*IPH@E(IPH_KBXEQ71YGMT7/;X>OYLNPB/"[6 D MCD?R$ED\I6W[P.2\?WH%(L=0C>=>MCM:(I:XI2%/3"><;/ IY%Q@EY!D14WQ M]4FXM6>12$!,F&IT%0-LUU^O'&D#B&GDH8B:5 E6%O%^+@\2_L]1S"%QH=15 M/;2H%B4@G>='OD=AD8')Z_2V/9KES3_I7^:7^=;EU:-]?M4(E';GXNR1%)U& M39?G+VKD\Y1^MG(05ZI':Q[B0L@<[B6> U4"CTU[#$$_M%E0+P M!2\"L-&N4;B(2X,;GDQ4UP^-^K>_IW-_TT.<%!Q-\I%%<8$X M[G2:N>.)S^VO*(U3!#B3R%F5L/Q1Y#R*D""%[%&=OM5QPF\\>C;@UW2\0A;_ M643MK+UP)?0VWY76 .(]#!:K1F,K!0,."NSX130%GR /G-DA/ U;D'",N#RP M%F0D&?%25M%,O!I8N(QAF UCSF>+AA512.1J#?%NETC-(\M)3M096/$]SIRB M;6;DN2B'V@-"7-VR/0W'M0)=XJ%(6G4#QFA!.,U=QI):PBO*7#)'NIYV&TE& MV.PH]NRGSV#@C?KIDDG3Q9@'Q@"$EO%1/"<8*(\/2T=AY<6]. Q-J!E GA3G M#9+O5DG62:A8? .^BIG>$LV_E>(3G<\+U]H!3@7O\$0H?81 @AE/135B+ZJV ME0 @VL?:-MY[%R] CFU$E,:-%#%$5S,1?)Z!2&JZ2&\#7L#K*X!86JG4ZR@9 MYYMLE0L_=Q))F..28%/I $[@B0J38C'#CTWS?EHZ#LALY/3$Q5H!"#_D<+MG M U 6Z=9+\CQH5'Z+]<&."_/I N:@20[\X"EP"CSB)D2LU2\-F1P;=4E7Q.E' M G4U?1S,N$J<'Q/0XY9Q$S9SN;X71:HE]_KKO0B7]Q#+^HC1E$GIP'!57W39 MV_#'/1[%U(F%L K\3DPZ@7IXD(H-JXJ>,]Z3Z15QH.,$N9^#/>"P!T*W-,0<81C[N%)JZ_6_""Z>Y M2E199:GRB0P9<8L>]KRQD%/+\^6<==F5=1LO%\<=8V?TTTAD%WS=NRII?U>U MOZO:WU7M[ZIX80/'8(8L6ZYA,POS"RM;,9EE.+JK$E4Q*)(R=U4*D4V'N9:C M4LW"H.-:AB0;EF'H#M,954TU&T&I!NNA35XD:G )T5R3-DAFB$[ MF9LG75=T2=,5BZJ,6EB5; +C)1TP4RR5(%G&5"4VQ9FR$5BALBU) MEHDE D\0V2(*EBS%=(E!,=,=FZP]T7*LMN:>#$XQ]M&QAB>%8^W<;32*W+S/ MK$8GLN)2%5YOP-RR#G,3)L'Z7=.59=- *LW.?7LV?,3DH+=H#QM!T6P%Q>/0 MGEMR9FX8J>";2?G@Z("6A]9]H7=1]-#9?1=&9G9H:ZYLZD@'V!F\! 6LQS ! M)31D&,RFLDELG)W[ A_<7CC&G576SOM]K=>@8>FT:"F;JRC1"^NT7RIHY>/V MR<6P?S4=U&9=&(FSL*#8U!"QJ 3G@1F"TU=UUT*JR1BQ$0 G<_J@*B*=WT^J MBH;A"1G6C21JZ;!>&S&72K*VN1H9U\;-Z0P-)W?#>ONVWVL-NY9JH[_-X4 ?:J.LK:EL(XULK4YG,SBU+'I0XR$57=[-S-^M50-A_&"!%W,E9(V)<5IV[I M&W.KBNZ:B%FP>UBWBA# !"A;IKHM8T.ELNQDYP;Q=]@/*@?W?:;7C^M#1'NZ M,K>,[-PF,[$I(VJYL$C@&AI0FX0!;Q55=K!.%4W/G)!DJ!K3@,: #S@6EAS5 MLAD3@ DB1YELZ]C6+0 AE8Z-BNE=-B_KV[B&<\X:=GUTN^AW MPH$;6,&A[A$O?HFUP :=QC'*VP;\*/N M* !G@D&285-QD:XQM$Y+<.B.8DA RM25.9\Q#8O(#/ '@/L0PQH<8/;&:W' M;N&XTR_7)I4CL,^[DM;;PC60PA@P")A1!13!&@/*-A4&XDFV$05BD/#&J:L] MG#KP1QF0P'!UW26."F2V M(8>D!O;DQ<5":Y?F[")\Z!AFM57BDH V6S= M9:Z2G;MGC,G)C>\$;>^R:JM]ZK/3;C'%-5X>ZZ&^*-9#>SK6X_EP@A<$'^R[ M+_YS'\4?O3]S6X(A-G3;CU]ID_!>D)415^^YOWXG_2K+Z[-0K-9;KE9P_2WGQ,BW1HFD"9@LW3>2;%RTC!N)28QA5R!3N.OA?[GE)WUI&-YPV M]^"S* 5WN8)E/FETXS&.\[6$^S J(B("" 9LY(4]D0F7N!;CVIVBW9 P8])7 M<,O4GOC67I3 7<*@*Y*YZ/HU(@E7G2&3.A*KS('(_H,=]4ZG2&-%O429- M7#8CRH6)7-]VW"TJ]JK&Z5YQL2A^4_%F&3+B E,R4Q>8\(??/[+[9_5A%=3B MSK#7UA!N2<6GDZ*>N;Z,V4B*BPB2;41;WGJ!>6%/V\WC _N\7+I59NJ-VFVT MG/FWOT?>8/,"DT/R+3.(?O&"]V>2QGX1/*@A'9*3\62$:IY2O:VBB\-3K_OM M;VSDL2GE007=@%)^K3_]KGC"#[V0=+L!6R4GQM#8(29>23AO$NXRC:KOI#S4 M=+6-B'17X40!(\/(Z=UE/O"Y,;!JD<"9;-A)!:-%2>\]1NAD1@)>F^W[>X2) M-OG5U6S .UF*KD,=X(Z55:'K5!1I^4$4:QHL+YX.%I>Q8[\XHLWXVF@SHA18 MKUENC0J%?DU"I<;,:(O:!(0^4NY)SCV G-'6AP4DKCRA=N9S*9^ M\D7DO^G0;*P^(52I BN2O%GROQ'%PGQ+)K^', MSA3N3WD'4_/SD 47T"ZI&9W\7>#- OZ*'/FN^>?R2HWV_;QDNV_98B<;>W#'HA__+_OBG??G'["OIN M:$G@P[)KQ_@A)X*76%83RWHCHL]/N22B#TOW MXYYP=H1PC.R.-S/6DJ/[YWL1ZM@G)@)N/:^C\)LI1)_M8+E.\:E/5D8[SIPV M#O39#>6V-W)(#_H:#&P7>?8/S,X/QW;NR_XD;&PWC_=Y"VKWSG?GF-D/CO6W M8$U?A!EE8\Z%>_O#M_W1C.FKL*(W/=TM;&DSW.C.>"G MPYXOQDEWC6&F"@HET0N?4H=[97?8!V)<3EG+!7SG^*\PF%IQ:$%1?WABO87SD"NA6P8:.&+0Z(RM3/J;B^MA_PMT'I;##4+Z#T%:E,U)N' M81DMG%:I<>I,YL>3?U :_DF4GG5\JI;D\*Q/T/1AWK\-'P;G/)\ ?_M;4?0\ M@O\:LOP,2G]F;;V63C//?6&=_>/5J(^]XMDM!O%BF1?_N IU%(@;\XI'6E2T MTTHE;$\F#V=&L]@_?KRMOP&O.+ZK56OH(<1]3S;.;FOC>^7"[5HZ%W]R7I%Q M7D*; ++ZX NVW:*K%PO>9^FJ9D$WC5!^^R]1,N?DL$K MW3Q]>L-OG9@5(&;JSWAT^F]'S?\T,^C7Z;'8Q]='S<<&TA[URHE,>]*#R%45 M9IZ1-TPSCW5S;^;]A#3ZG1'X;5*W?@*!.V,4NFU6FB/YR#O3)I9R>AIR!!9& MG9E'FIK'ZG.JFA I_Q9I,7]OE+?:%:WJ_?L)95>Z7KI+;.MG%_]^%?BWY$X= M+U/"BKS_ERCAM)D\=70TGES7RWX+'6LSVD$3]5::;;8/_\+)4]IW^NCLJ1])ZJ\8]ZG3^U& M^M2>+]Z"M5' M:UN_!V_Z(MQHGT/UH8?[Q2+_?RTJ\P,85KM9?-N@L1U0G#Y3!LSOGHX +5M2D9B#@R45LX6,#+++FT>"P:LV(9+>YO<&$X/#0+P5M<[G?O/'PR[9L: M.K/O1Y[T>';;P[RZO/SM;U7**Q+.2])SX6)?+PSSTU'4;Y\.\5,DY1=(^^[: M>&SV9]-B8_'8ONV?U]XB"6)4:O>5@Z';ZA-+[E4'YFW%HYRD\+>_)2DO:5)> M4Z17C,#\ *%ZV2A]3L5^GUCWGI*L5+5N^M5RHU!OA.7:@7MZ:O=/NJ6SMR [ MOZ>0DG1@**AP<'!V$3J%JU:_&Z73J6H>RTI>WX=9[L7'KX@/P..3ZT>G<&A> M=?K'W8?%:&(5*\W%6^3%S#N+*[UMW09E=E+"DYO!],##W3B'3E;S,M;RBJ&] M1P[=!PB65%/9+VJP?;R^N$^>^V6Y-NU;)<$3/!8*5&WUR*@=DN*(EGK>B,3) M/L$QL=W;8D?N+\KV6>G8.2VTSM\BN4 ZG9Q/I(=9@!83U@,(/3 ++9/HN*JI M&OIO9;U]/'GMD^A^7=[^)'UU+\R[(WTH7[8)&I0F?DL_TOMOH50^3C5)FMCZ M0;^F]FZ.:Q?WDGM43Y+I-%7/8\7XW*;RSZ?;9=)\EFRX(2Y7'3CBZ+0_O[Q6[HQ6F6)WOL^E>O2D; M[_#)@9<[( ,R1 MZ-[W'-'!+=5G\GO2E#6,&V:*-+J C0,6\GZ74>O','Z:T7S3CED@2 .@G/-M@ N)^G3R5_#1_-G9 M"*B1B@V204X0/W_+F"RX)A@UB/MWIJ7NUF]$5'\J6\$9,!)P!MA+4OP2]L9A M_1;I"D^&_,AXQ<+BDSXJ2'(V)^$__V,MVV+#\HAY<6IC<9:'+-AREQ6B9 [B MPKO_(H,Y683Q1G7SNY*P^;^6[%R)T.^[HOXKE_K,(;(!3IY#F0+:6HYD_-AZ MFF3RY0^22N*SF?KCOV3I.T_:!(0NQ!O#TG==?:/3>IH*_Y?D>@&7#?_5JI6> MNP1\Z2M3?&O$Z6*PQK?BKU)8Q('+N8*@62!QSKH L<(E0R6OS533+/2Y"+8- MIEJKMM35NNKPO*:T:I:M5SKI)QK5XOM MPTJK?)@KU:J'Y6HS^M2LG5<.B_SKHTJU6"U5BN>Y9@N^N"A76\V-_M#/ZW1/754R,;,, M56/PE^U8AJ-B2R;8-6P32\@QUY_0=->6D0GO4%UXA\%TRS!E8C'3QJ;N4.3@ M]7[JEJH[MF)B8NE(=RVLJW$'=FP3!59'#**3S!.JHNE$P9;C(-!SHMS<;K-I6;-J\ZA]W'UX<&_G@_J!7[?DS57<#^;U\M"Q;323M&%?[@:* MJ\UA9'85U-"8;E +P;8M[%#;,ADLRC4!:5PX4#C9]2<8,A!5=<,"Y($3@HRW+3;K&W:_5K#7SQ>%2ULH?6Y M'9,YML:PY2(9 TY*"/!95P$K$&*Z1%3#T#)X+QNZH3/#TC4*6$RP9!D&(W!2 M*G6IB5S3S<#(99JD(F);2(+'X!W4,@WD6+HCFXY)%)T1EEU_<'%R.2K?7 7M M4D,SR@=X+-_6YI::7;^*;5,U8<&.X9@6QO"/06S-,K&+-8TPE]GJ^A.((*H[ MP!NH DL"*G0MF[JV14S8A0%([ZH9NG5T(NO(L"U9<56@=&):!#-.A9)KJ#+% ML)'L^JWVL&O*HY'2GKC''=\G]?,KD]\N9=:O8<28I(.Q9$H 38UIP'=<;&F& M+6FZ PO-0E/#JB%)P E#/Z[D(DT!I%282H$G MV-0R=$!MG:D*)8J)9-W(<$/8J:0YLB4)_FE29IF:H@"#PX!YAF009F=WW -K M6*Y=HFZ[P&QRT?#/B^R0>PQ0%AMDR>6K 7('^$N,?P*FR#D3I013PZ#K3Q!D M4LT$9 ,FH'!.#5Q"HY+E,!,C!9:)<(:.'0)@=:ALZ5B'=U#@ZP0!::\Z&\/"":XU->(/G>@X!S!@M=T&OL5-,=X;>; M^;EYSW-ZO']\[&N D6#S4Q!Q08CUTPN[#$V#;_G#F$< M+)"/Z[(1"\A@L( ?_6!: +U_F*.Q$X\#9>F02#K.ATN(A'GQZY#<^8$W722C MGW13!"SMT(#9DZSI!2CYWW,M/I=_SZ(SVOYJLL7[PH&[ 0;^,@"/ZP\&_CS\ MZSVJ-R6XU_&FO:1L4S$,&:]4>1ZCX^*)JDT7+=J[5VX4L\]J-X7>6:4WLD[K MOU/5IGW+^US*24C*=QGOC^(5C^(SE*+^ MZ"SW+U9\)A(LG[A$R?(:MK$T!#Y[_-3;G'3$+3_Q21\FIETC:33V3THY[%M[ M[PS6?SA/_Z%Z_>&X_YJ5:7[#\_V1IKA[Y[MS[&PGRGKL!/+^?*IZ:MX7Z>4[ MSLQVM;#-'C<^GA%^CK(X']&L<,Q&_'HPCH[-D6GNE(QF_"Y1RN>B&II?-PGS M0XCCU7+,/IRCOG&L?C&T:JXER98B9195XLD0>G/)$"ZISV9Y9_.;>P2+54\HJNY$WM MYQ)/]E2T"U3TX;+GZU'1\C;Y:3)ZP$>E ]?WVDBK%Z=7J-\K->==(".>_X)Q M7M%>LS3.!PC6/PZ9P]L@L3]SE5'T*9\;L>E>I?Q]S(W<'Y\Q_=*9]I^6C0DN M)]@-LA*H&_;_?]\*6\B\$C3O'@K#^TZ[\S X*%ZXY[1MUJ.ZMX7PQ<.OA/*H7)RMF M'B/\'L5^/D!4ED.GJOU#*,ME;3 M&+J\MR>U]B]7 /LU([30ZIUVW*/CBW;!FQS<&N/[VTIO'A6YDSBKT$&V/LX4A]-AW*YHQ[Z%[?5*[?>G$O:#^LO M[+8-NK_NV$VU^\-%YAXW=A8W/EP2[*_"GK@*XSW'OI3^]'00W]XX^#7GNFG5 M:XM"H#O^?;EP<]FYJ-V@&I7[,.)OBB1H/N9;G ;L_G%=_/>S^";5]X!5-;3$(O7)GT+ON#.?TQ. M*TN8U[+@[JN\(1MYU9#?IG;G;T$''YY3\3O3P0NO?4;W59/>WI75LF8& <*C M2L%J%&&U(,T,9.85];E@HL]L;SUS[9/I1;^WO7[=]OI$M7Y_D(GTAAYI8 I' M#4\:7X>%2GL2DE'+)7-V37^YEORO&6[U(;TZN5X$1VCX2"HGSNU1>VZ(&DG< ME[6MC4ZV'?<*(G9_" MPCB=M['<>!8?JR0(K/'I7>_^Y/&\4I:EVEU9.@Z5^6D=N+6FY!5CLV.JJ ;U MYF![V[+VKP"V1W]^0@H'9Q35W+%_4>A5JY[7Y?X;3='SBKSIO\G9B[A$&9U% M9<_ACZ1P&*#B1H4M+RHT-O*2*EY#6'8OS#% ?KI%U11A1N)X.,CR,$\X9@XO ML#%8Y./J9G,6L*1<&TW>\-PB0*D50Q@0V"BNW,Z_8,3I16\> ^'Z]*G"YV]< M$JQ(A= ,864E/YR&HDC@8K/\UZF%"E>4W/7[DXKG%%I'U/7ES?)?;U/X^9>+ M!G[[^X^$I?YHH/?G9G6#)F!M5+S^@@1])JHHEA_&;!2R$A6A[\4-_-&(# M\;W+^*N()ZH+#GW@!PPHXMYS> V^T#:%H3Z0/*\+6-RRXE1S@[A^8E(Z<-KS @I?!J+((J]CZ(\&P URLY"7 M/'0F,R\JC_-$+;_DO;E[C^1"W_'((#=D%/Z(*OK!GB@<("_<."!3SCV?6B(O M]A?_(8HB;@/ECPI".JS!Z,&Q<_-#JU.DA<0\M+AIE7S,V@G:\@='\2.L%])90'YND4 MR=>30;=XZIKSZSD(5@GE-23G)80VP9/4^'P56;D296F]^NUK6_+B!M%,#2_L MET *P^'"IZ40:Q_:MWZS,#:Q7=;1-D: M>,2Y<-?5X:U!.U8(']^2%+-:/A/7#6 M]@@LW1$HD M@ITNQMQ*$? )>P(8X@,#>7 /]#3B=6-3Q6:]T3T+I\/H^Z?J MNX((2JKW1H5BHV6!8. ,G$O0)U\FOMS^OMP<-.R#B#]\_BTK<<&$D+H:@ET*KN+O5A!R,?YN>+ M#GCIW@'(._XK+SGL\_:,(*N^K.!BL@KT[+)EQTSL9Q]6#298G07AU$M'.N9?B@8X2S0#B)$E,A MC0UV[(XWVW9%^ MU^Y(*407Q)(@7]14!"'9-APG:OV#556S;$>!/RDS)$WCC2JRK8DU#-O4+-G5=4-27(8D9_T))E-F(X-9MJM(%E9L&3Z9_#$L*9I)&:;K M344LQ!Q'<27#LJFL6)@Y,@PF)N_)0^#_-(HRC5@R3&)@TY(9 M#,8,,\O476+IV$4&O$'74*:=BJ10 A-K,+,#JY*(PKO-&)9LFR9Q==5!V28[ MBB:I!-N2I6JFR1M$F1;1% .VI2DVPBJ&QS/GH3%"-56V))/QMB2R:8E^2H[C MVKIC*+)L9YJDF(;#9*:IEHITV+G#CP)V:\'AZ\RU55,U,^>A8I MB,61+)L1V0( 4A43K,);-O:AJ+9)+!OSUCD2@M,W%-=R'0T,)E63 6?6GF@Y M%FJ,9O51:\Z;-1TWSYW%N#3$]8WF4I9C&X8I\89+DNU:&,NJ92L4$)<8!B(& M0%5#V;F[TA4=S4M*MST,2.>R7T'8OYEO:QEE4*FO5"?-2;O [D+%N;JHM13> M7"IS4M@T%4FFLF6Z<," R02(!A"540,4)Q,^:B0[]_R@=S]J:C>-Y:TS4 MJFW@0M%2-E?Q>'534MMFX[#.@]7#$Y]2R(Z^&R#X<*2._/#N7I+/.?=%12!=&9C#*<17B AE8DJ0P3N$N M$(4&)*@HA.BJ:L@DTUH)ZQ+&5.>-T'0,3QC4(LA1+-,ACF$0QP8B6']",PU" ML *X*A.@#,70X?C@(%T9JW"TNF)DVGX!X? N4D *R.;MLVRD608#W&)4EVV. M6U3:@'=7]^Q;1UOXY;.'JYEJ7XY/VI/B1C,I&'EV:YXHI<)=M:_Y=E!6CZ^] M:97G"*O9D;CTP-B9)3_TR5BJG6#KVKE4^)P;\+[IW%O3NYN"TNYT'L_GG7N\ M,!8\13_;= G+KJ( HU-U0P;H(<4K]T6L"6VYIU?5:'D1O0LTJ- MQ;Q>O0G;6G-2N2*-CG9A%&'D!O3*,[E%1OV@43XKF[V#VDA63P_XG!GHP?$; M6"L:P%-PT6#\H+TK5 M>S(Y8^436H21&] [4CS#'Y3*\_Y$5T_/9C?-QHZYE$*8!"S ^S+P9B:(22:Y M%L6\_2%"-I?-Q'(P2 &%8MDD&]!SC]LCK5VI-MJ=,PTM;F?#RZMY?:.I&&\_ MUA]<72L'I;#/9G3>&Q;:SMD]#UK>@)XYYXWQ>C?S=N'4ZP6==L_23KHP<@-Z M1&&U4CL]!S3%!.@!,!9P*>I*F %R!O+1#5Q %0Y>R M&H'.-)"\E&LGDLU;RH'8TG3'DE2N7 #9&EGMB3J*! J:"2R3\9:1+L@]!10) MR0%Q[4B,P JRZS^F%O-OBN%QN]3QC9N2U\)!>;.E&8RLCMO-,U>Y.RU/JM:9 M?=$.R4&Q& 6,KH]4NP/3KP;3 \0*H?TXM8X/'_QN%$ZWMEZ*;6S+O%\ACQY0 M9 J4R=43BD'JR]B! =FY&YVCH>+J#;D\K(WNY_[B87JB\E5D9 %U<6D$BAI MJ@-R1M5<8&#P E#P ':@ CHLTS2/*DC2=9V"YJ(!MBI ]:8+JH\NJ: %Z: 8 MTNR9:AB('70B"9M8A+QF]%O#<+FHY@H[[ ,@9Q&=PC^2*6&$ MB8XRN D[1QHH;Z">FKSM).)/*!IOF^EJ!JC=\'3FS($3&4AFP"YLWL10!67= MED !U1A5):0!!#/X9"$=&R <); 9 %6P;8.LP_ V$).*:2 #[)V,-F*8S$4$ M>)_N4M!&5 G.7*4J+%*5',T !<_=:!M8:5RWRI=A%62>?Z;/61V5:Z6MK5 O M;X>3+CT[1.W"<%$L7N!.LU'G>FU6]^=-%HD)*H +^CN8$X1+:VPAHC@,D%(V MU0T^Z9V&H)M=&8MR4QUX1E"]K!?+6UNA6JXOA05_Z/6U?F!V2_7J4 79L:'7 M CMCP,EL4(3!+,2Z#8?CFORLP,J0)%/6\09G]>\6M8O#Q4+KSVJ+,V!OB^DQ MVZK77IJ/L\6E[SJ(- M6RKV[LFXU]3:PUF+G%=9."N:\TV]EJF:!&JG Q\(R"$'8XN %FII*M$D'59D MVEDZ90BY#FBIDL%M*\I MS! )]8IU0A&+F)V!K\E1U==&?B2!&C)VWJ";:*9 M7.!ICJ0K-C#RK!VJ@J&D VN7,6\K*1B'#"H)0SKHX+:BN?+&CL\[1ZQV0$=6 MN6G7@U'CL@-B<*M>.[DRSBZG1 OZ9UVI,;2KC=.+:G>;7CNW4.FT<7S7ZY<* M-E9.\,0).EOU6J,%B@1J54=MSPDJ5P_2]>4BF&_JM8ZFR[!X4)A /0*JXBV3 MN9TI Y"(39@K2QG+3@.^B4#9XKUF@0P8-SI4"L2(=5UBMNCMFK$*9$6R3>"] MAH1T;LJ#9*4RLU0@=DR!9RK&!DP*01\7@V NHUJIW.C;-[TS2HK;]-J[2ZT[ M?$1SU&? Y1['4CU\/-NJUQ[@2;7DWBG-?L=JH[N#R5273[;JM>[Q3!KV#A_- M=DUM*2/EI-,P\!:]UK8=S59EA[-]U!NUX-3MKDT'2:Q>%U]:I3 MW*;75EFII:M@R_1!;6E=3:O4.#W:JM=6'EEXKA[?'Z*:+WQ<#S35N^MZ,'5AF M:3&;.=UM>JUU=G Z[TRNO#(S#@97A4H971?B7-.,MM?HV-4"&1WVY>OY4)OW ML%H8QFE[&5V?4I PEFQSNX=2WO)9 ZW#5)$!NW-T?0/>3'WH7UW-+^Y1;>P, M]/L*4(>A<1D%%*$04/%D76.&Y&;7 MWS_6&*C!_2O4] NW#[I\?%^_W:H)+X8VZGGR:%;N')Q66YW+%K9*\VV:\,&= M>CQJ'C9.^YU)]>S,/JC-6^4MFC#HYH;A@(:#,6\X34#W-!R0"LP![5/7%=!8 M-ZC+/"5!K5:^G+>/1YV+RL!L'DV XVQHP@R8G&$+XU^!@Y9 ;3$<#5NR@A37 M8:"I9B63 >"V)6KPCO! $01DE*& *:9B1<6\,[,L9]YA:XXJ*0X"-L%;RF," MJ(UMX+*<4@'@#D _:UG#KAQ3MT" J=S3"_R$M\X&I4M50,T#W,AHD-21'9W[ MF*""<]0" @LDC(!A%$N*# !#0 &PQ]T)!A#Z8+]*YDGI"9ZA *^@'P#8>W@P>AAP"Y M90Q4(LLZL[-VAJ8R4^'\AG(7.N OMDS.&AS'98J-9<>V,[!R'=#;D6UREQ?W MO -B& K8CCJ(1Z39! SI#*P8-EQ%T\&"(5RCEWEC:0Q23V%5!P'CA$C,#D) W68ZLQT3 7 F/4L(6Z%RK /6P$E&$X0="0*?)/HJD$U M'9FRM.&W+03#Z?7Q6;V.9F"B-\-QZ?A^LJD)@VX$(IF 0NN"WL[EDPMGC4S+ M<&49#LZQZ:8/JEVHAI?3H!.VSVX>Y="N]/1SJ;A-OYWI1?\TJ,Z L]Z?-BJC MLX72 _MT0[]%CLNE)$@AG>OZH,V"701FN"XCP#D@3>)(V;E;LRNU=GM\M^C/ M\&V)TOK%M*%NU6^'VN3P^M8N=/JEL$&+C_^?O3=M4E79UH6_WXC['XQYWQ5W MK3>T#KTZ]SDK A7[7M'2+P9"H@B"TMC]^IL)6&57[;1!BQVQUZRR$)(<_<@Q MGB%D-YPZ.N7?&HE&TQA5.@V^Y,0ZQ7ZA-9&,T2G_=M#D^ZPB81,^QC=9IE!G M9NOG$_XMY&PHQB@_,$0#XG&*@51$9BR1H-&QR) A#B(^+ Y?GY3(@9PD&93+ M$=&D=V8@X@+<(09Z7.3!2';H44&QBXLH*!EZ'G&2H"D89,89:D@2-'&H$QCH M),LD@/Z!2*-\ &3V81(DH,L!,)I(P CG./NS2B)?K#33(] M.O)OH;Y),/$$ # X1^/J ;RMP$")D'$Y3D&')WFX?N1KM&>S=%](:.I\QM,M M,,UPSVGVE$?,<'-MOC!B!!8#Z8*J%" _Q4:G/.*:W96[Z=:LS'5SRPU;G11B MB\GHV",F<*B> =0_"8"R;0F4_Y8E":I5F<'@@BE".-@]DL;B"1K >"(IBVCW MH&0"))0"20C).%3'U.$(>0R3D@R&09*0KI67!TF4/A(E.0EP L;9PI'MP^R. MLI[0@J/62J5G;*YNLM/GQI%'/& 2(@R0H46##KRK3Z"60_D(89B$[CQT+S#Z MR )K.4 VU&0FJ;:8['3"E5:;3G=YRH>6TOTJB.-VC6L12V=2-+0N[5YY[$,W MQ:'6',X$?DH/2LYH.>:P-GOL0Y-T/"$ ( UD 8<2@=P> ?-\8PHJHJ2$'7@\ M QIEDJ"R'A#8$'$4E";(U=#I@C9 %@F<@2]]H)4)DH2.'CT ),K@2- >)8 M8T1(&1R'QA#>Y"C?Q:4=GMMDQFJ7*SB5UJS=Y'(G<\/D6E<:,38+8ULC7F"X MV)"F.93'/=8\O:6B;VR'Q>8+K39[)HUJJ8,\XP.OA $8TK50X='(<\"&*&*" M[MH03S#84!!I 3^21VJ67)O9,A7#:HG$CD M>*(*0[ULK;FU4:J:[* M=TL]&C0;W9+2/^F_)!.9K),:+!G>F1:5S:B(%_'AB7-GZ/>+V)#$T'D!C!Z2 M>'S@!BP"#$]@2",/1?)0LA%WBX"!%HY$&5,D=3A*N9$PZA=I0$.=&A#$&1P]&Q-MIVZ"-1\4&"$"GT'Q@X M,)(LQ(_.G3=&=K&2JFI%%<9C*A&O J,M'_LO2+\7N72J,XP1G(!/,N5^/TOV MG9$'XW[@$QE5B4TD\G%N_IRLUP>=?K%28ST4Z_VX&EHDB88:-4G \%"$QDL M"4A BY8)C$,AA%'OJCP/+9B'R_AX;%+&6B641&6HY]MJ MLG0RHR>1M8PV4,DNQBR9=+LUZ,^>JZR'[WM@\ZJQ&EPN2/""**]E>L0"IL5Z M&*;[ZX4N%09C7AKJ;<@?T-5*#*7X(,Y(29F KILX/++_F[F!:;PSAE;=!FDJ M1Z7;===_V>[W0=VI]SUHCL:IQKRY)GO8O#P9)S?22[> /GY<;O_.U8@# MWGC&^T7Z7RCI1SMZEI*\ST]5)% 3SW2*@ 4-.=+:*?7UIP:CFF*W%0\U+NU5 MV0W_O6&Q_F'[P7XEL5O4>=7VYF]W29R@R5?:)B*?ZRH\]91=6K[NQH6;8UKB M&$B.!JR:O/=&-1F]3FJ-_IMUR^:/.S]+75V61J):Q6IELMXHS7-&KGFB:>;T M=9=LFOF ?3^H:E;>IIM[%PF(AK=+OQUX0Q,U#A[^Y: 4_=>_Z<,6E&UWM/7? M_Z7<4G)/]?7+!NJ^<-L7MJO<=EX R6W(P+&_4(?'U##=@FN_I_FW^QXN?,)+ M=;Z'H>$VALPL\'O[PV[)-RIF]^M[42VPZ%5O;[L1W,IYP;&-[0=>V;S[R5YU M_0X,AW_-<0.#;6X7MBTH]FC^.;P_BG["WX5"VBEPWKF_ >\IPPW=ZKWM[S$$ M.?+;ZT58PGWZL ? 5Z?N@[>7"D/+T!P;7*/V'WO"Z/<4J?N]K^ AO_9T_#%Z M&_TNW&9(F!L1!L>>XLF0,@&D3"@R 24,%)EW@;%#PMQ,8A(A88)(F-#(!)4R MH9$)*&&0D0E#F4!2YBF>" ES.<)\$>/_PYC_9KN0^,HN7%2+W]46B(:&/OR? M7_%?W]P.&G/WXX8@ZHGW4#1.;^![IPY9P\=OLL<^R-,AW)/W\UN83UM$WN$Y MF.TC_7>6S7MOJP[QA4.%$3R%\1$-(_!_?S1>X45+D-_5$@3YE" ?24MXLY;/ M(N,?1=(_A3]N.Y+F[/R!1C&$-B"T 0%Q&H]/[=\>'7#NC%/0A!-!G)Y+=S\V M72]OF,Y(UK_NQ2"'PAH*ZR6$];)6-J#2&KI'H7OT %MP>;W\/MSL5W?E2*)# M3KD>IUQW5OB=,LJMG;@@,$JH4D*5$@CG\2$XY>*NYM4XY5SS< /@O*:-*7RW M=82][&3/0.F(;[+[V4:"7MVPG)[XN7>(<=V13I9I#RK"Q#!?6E?8E6(-1%L= M^ Q9<8^%!WYST>!H\DYJG0*Z.$:3K=RO;B_T!P-F36-Z:H#@Q[=MKV=@[X[; MKQY=Z]_+TML$*,=MF7?F_6I:+<]GZ]*W!S#YZ[=.C"7M8 U,;5%U@E<((D."09E=EWK%X<;3FTUZ$Z2 MJ9OC^F04"O:;@DU\;9SI_E/JP$0?"". OPA[C'B1=JHP&"XW+A';D8L.6KS(P_ !D9$<1*/XG'B4[[2W4G?.V00H1$G?C^LSCC6'_,MK-=L:Y25%:GE!4*4F(6#>*_R MS'$MK5<=TQ6^_JRS'F8UCD>Q1")*X/'PT"8\M ER4/-0DGW)H,9BVN-T.UM) MJDPOIRNU6"E'=)<>\#S^XTYM?II%#D]JPI.:\*3FD4YJ,@^1V+A-KCAPZCEP M 5/F?MPJ4-E4$I4BQV+,K(RQY"R3D=3&!0*F:G4U,$ _+ZA$KYD3RAJ>*JG^ MJ$>?_H2YII]\1'!AZM_:IPH8 M]0,G_!?.9!P. /LX0N+N)T**U:29(^MY!:O-L/Z\D^[9[>PE^O6$26XN%$9E M@1<2,B!:BMP>$".XKGS!Q%2CMBBR<*\3O_XEKEOB*ATO+_< M;I[H;<8J^G^T(B80@;) Q/@!(Q8Q)AQ_<4($=K[W!>X/1_D\/&'"Z5=!I0P4 MF7A(F 2!@41>$B9 %(FG+$84,*$5B:HE FM3$ )$UJ9P%(FG+%X4<)\O7;X M_:#_?E!&'Z7JYL^VX#S3L>*/-!V+]6C#3'()^>BR?(0R MP^$,SM"@W-J@W,F,Q8>2_G &9\@?X0S.T 8$Q0:$8_UN-=;OW93?O=/U_;19 MT.@:#N$,I364UGNA:SB$,_2/@N,?W7P+ M I$;Q-N;W&OOD67%ZO!W\/;N^0 MW7P+0O40JH<;JH?[XHO;=W $<%CFK9W,=^>W/&B/WMY3TO 5AJ8"[YH'V@*@ MUT)/$'0KYC_F]BU]M[8Q%V_69:U!3;[.3 K6[QIJOC0-7:!KKU=EFS6LVB;5 M:=;49N1\,F\.OPTM=KSD*K#3CFG"1Y]HTAU20CIN";65VBUE8Z/2LHQ+,W^H M)AZ/)BDJFJ"NWJ0;.)?@GA3 K9V).P T"[9"L L*M9SPV3>AP@CG#PY@_1\J':#N&<+P?G M')3 [>3$G+N+S^[H(/4>HZ5O#[NXBG,TG%@M,DG&9CR38I6"6B&KK/-M^*(O M1DO%-9O(VU-^S2F)YU4Q42YKR<;2&[A)17&*B#)DXD+8S($X]WZ,=.<=1"C! M%D(GV]#SM%%M8//"<*G41* 5LU>;G/DS-V_]P.F:VX?.7Q[3L15G);LLYUK MR%([IX(4:8U*-?UYR%_KG*4QKE4-H:!ML'4OEDEH$JO&6TMO#B:)CEBB&$;_ ML&.6JXAIX,QI\&*-8(MMKC:HJ?VV)6,P[K93*B6)K4:E@K MGZ^;4%VV"KV&/]"2_&FG(3_-I#[X"6@INFB,?]EQ"%<)%LJ8)F'7[3 M%P9=K,L-S"EOE-I9?#1(H($G.!$E:2J*TQ>: ADJQ@!(W1T,);F*%'8K% ^L MPKJJ=NN]*F6;PV9R<[60O1//5X2YE8ZDM%ZY8/!$CJO9\4U2 M:?,D15_K8%&RZ'\)[+C$$SN[,RKQOY5] /T\V_%AK<3O;M M9C8\EOT-V0B8FJ*#P[]LF/.G[1:\,X02W4]3+-N[VQ"@Z1>//X$2?W? M\.,.!WD;0"0<.?FS*?&#IW\%C12A4 2%$BB>"BD1!$K\W*F10:-$:"@"0XK0 M4 2%$LA0A"%%,$CQ8R<_7H@27Z^_?3^ZOMYK/R[,^'G?^67,4OR[8Y9HS-V M (]9^L\'0P.RAC]ISQX#[P==T?V?IO#RL3_=$>@H\?98T_E.G$V%0A\ H3^B M4D &JI%W+>GW.V$O.!Q WSD'W.L,O5!3!U-3'[_S0P_:^DC SCI9Z[$H=WE[ M\2>$N]=!=Z' A0+WK;S0MKU,"$G^ICJU%4)&&T^O; @[<7?0K0)%$JJ.QP6.>$PK.J M#XJUEDFR_G X/(HEL"AY?=32'R[,UW7KSR3+YP(S?7QAOF3/(=]LMXH3HBUA M3IVQ:HN"N6[._-%N^&./=OO/#YSE=C6HC9^ND:\;4=V2V+>.DRZ,9WJS "A_ MG_F,.SKXN^\@)1]POZ8S[^<*\U+=P6KDQ'E.Z@V57W\;=_%+00HS7U>I)-M7 M,8+H:+5"OV*(*NO-9,.Q:((FHTGR(K!O=VKYPI C%,VKS6IK<>.6/*:M++\N MV.WG;)['1^.E/ZOM9:0 MV(^7^7XHI-/@T3I8@GWA;, ALN)'(436!4%/OD#(90<3]F@OS:.*F/ M+\V73" T!_-R=8['VUANEJ7IZ:Q)5#LL%.C$U0U6PXJ#RQV-9A_L%L@UMP#W:@$^..+X4E./[YUY!$\ZS8G(^-ETO MKWG.2-?S8>3>.G2[,%4O.VX]R-+ZV'2]+13RC:0U](_.ZQ_]%(_H-JW1%_:4 M/BQM#L(V_%C:7[4:.!!O?7N3>R-27];%NAL7L7+NJ,_6H/8,[/V+YV:Q^//-R?2_>9A^2_MIL7*/(_@)4_)_EO[/H= MD?_BL-:C)7^A7S7^W7Y7U>^[J7LO=69M4&083N_:FG\-:F0DF#*QD;]9H M?+?E_&"E:<YMM(8T*C=/!&E2#+*4-<& MU@WE-U#N^[?E]UK]YX&49WV2KO9BRVE/)62F0Z1QID>HC6LUG5?XS#11C->> ML5IY4[ '[)HW,DLHUH_?='XLSX<]Z'>5"M]&3,6'R'/>T1G_F=S:GTVBNX@\ M?J2#$L81?QQ'%(/H=_ ".1,:Z?R8:R7R:;6U*%!K#\=1U1': *CF(T0JI&OCU]"YH+GTF]AI79Z*;_[ M[.33Z\.WE=_N)_#7;<_G$YX$TQ/=G/LMFKN-G4?!E%]!OM-%>GP[VYC]QIX8 ML U'"/H)VQ:E(YJ"ESV*($BF"!;!T'-WNRX_!PCEW]+]]KO1D:L[X++>X8W$ M!?@A>421'0Z)N=OTMGMWJ\64@65%[#'TU'#LKZ]1##"O^?#ZSLJ_ORPBG1GR]*U6ILK1?Y.L[T*6_W'\_X*U?33+==' MOJZO"I?7\E;5KD7:>2["5UD^4VASF4BZ5LUPU9;W4ZM6+F18]'&V4&6KZ0); MCK3:\(,*5VVWX MZ2@=(_^Q([UM:9U]B3@F"X/HK UH4<%D>XH,D2- #"DM0 M@T0\B0^&,&"E"8 G7DRXOH]3FZDEP-T M:<+S-=U5L_9'5R=_O?D,/C/L&ZUN+\D17-(PK&5. SSK?HMX^UNEKBY+(U&M M8K4R66^4YCDCU_2^A?\ZI PS/*'Y?ALL\3'F-W:Y.E"QX?N*QX+] MZ]^_)_\ MC[T_>'D$!9N#OM L,A.0ZZW,!!L^7=&A*PDBTAK&BG#9Z!U$&!$#6T'Z-3*& MQ([80!SK\*U':WBY!!\-Y1Q=. 2: A; =4;MB @]TI%W1W2N !6!O8<^*T#' MRH(W=S0I,A;@O84(C%OABPI:1)!@/&"!")!E(-H1PUN4N]S_:T5DQW9,>"M% M%W017;ZU ]&("2Q'LUV$ F,&/ IYE! %:QQ!8#G6[]VEH?LB&!U!TV 8/457 M(A!5V>F(3FB;?UG;RMF\%D67(<5D1P0@5$1@$&\J]G0=W1(15>R M=/0]^#YPJ?[MT)]L$P;Z[@+<]T+-?%RW"8$E0D&3"-P0C M2"?/ ,)W'2LS"\'WBO#[!O3U]__R'_CKR($?&/#>D#4M1=IN$GJYV=KU,[<7 M>1\/3;2B*7P>=)306[@K!/H8_3Q%(+[N!Z:K. 3+,B!)$);P4K''[O;Z&15( M.,'3G&BS!-M&B0+OJ\!]&S"=:<8:P%?4 =PK"YD/>*7ES&:&:4<42%;HO"_M M\1D]H#/)$'RW'7;S>'H(MFRL0?%P&1GNRA#2=,<>SJ 1=./>: 1L507:$G<7 MM8BC^Z2VE5=VK3?/Z0/>B5;-&B8T-'K$RPR+:U>A!DV?-BNIB +9UX!\'9%- M@"@/J>KF-E"\(?J+?XJ@JULVE),(*\'@3+&V-A@IG^V[JFEHEGN-MQP+/0I>X2Y8AT(& MG6M@;M<'>3 .:. M_3>ZRKC" M%%=6W;]#VL/5ZJY*@X]& MNR!,?;ATN ?P]T]FKM/5WF!BR%DCF1K-L:FACV13![6K=1ZQ7QY/OKN24L:OA3Z/_?ZWLV75T9_8'5I_X.=*P\/9*J" M:0Z(Q7I2QBK9#58C-4=,.K+5I9:H_B,936)T-$'11\GAR-^[FX@Z72]QQ+:S MB99I#[:ZP\NV^[^X=,D7EW:&+^@#5:&Z"P<(STE3^_9AUOFW>+04&D1&J20P MILNG9$I>YM1) Z%M1#&:BL;)XQW^QW/G+\2>KPAC7-\_]AR,QUK[[]M^-"49HCJKVTR)TZK@P8S8C1^WNEO M^J3X+(_)QG&"Z?1U?M(G N#6S^!R;-,!YSI\..$0G34CH>YE))H .1%[&:*] M73Q[/N$3B_SC@2MH,<+K&\WVW@BR+7IEY-Y(!F1J*4"38@IZA'5&\*M(\!)1 MU^7*LBWD EJ0)R-LBW?_$L/):.0]EQ^Z[H)B1CJN*UF!(3\,F5W_\.^V,8." MF""P?WY',HHE:@;Z6P2J@2E8&J8:B4$GS_,PH9Y%"]BYJHG\-M/?1]=I/OD4 M%"%$(\NQ(HY?W-5M]"R]WLW M>SQ]?9KO-D,JHS0A"@6A%MO9*3\81S?>\YX=W01PLS;P&2.X,L\1A4NSD/>, M7MQT?5OTJ<>=\$(!)2U&KG>^&U ZNC%$R0OW?$/19P[<'L?R%N^[V!^]1-1] M$'JL#A6XFU>'7[5$4YG9?MRP<_E.C I#V_%+Z O==@6XN9-7U>P2RM#A#^CN M4\.R?1'P0@1EBC(7@@Y5MA:!X;1B2&Z6!>B^\XV^!8,E&X7&LH*,360-!-,= M4X0D"*[.HP!<&ER0+W%;6APOS@3VWO)07D+;/MK:>;8S\U)0<+^\E)2[)Y I M=B*+R!A:+5^0X;4P5$*4A]\K"O"%S'4$WUHKCQTE17(CQ%S[RN;6S1(GGD*IB;:![/9' M&B7^D49)OVP XL>M(L&Q?Y"X_XZTX7,!>O7"%)'?WQ,4K/E;4A=,R*PY!]X! MY;,05W8$N/E(9@J($Z&'$^%TE.A#H3#_$G*C9-W(_UK4$REX-0P/ 20J<&-H MY%@A?HM-!14QH(P26B;P>0D2>K%]DN(_"W#:<]MVU7HVX% M??MEE"5TGX\4[8Y,^UH(_K0UC^[YEX6^.%5L7R&@Q/+^'8^6[JMV5P&^(_JR M:4R]S#?:)/3#EL[H)K)B0H[POWLH\SMK?%_RO2S&K<3^$Q4@=U?O08?U'F&] M1UCO\:/K/;Y>O?%./<:[07981W&G=1273F1HWTIDO#'V!/M<:@*5S >Q2N-[ M697O9E"0)[4&=C 3*%DP-)'_Y[$%]$F9-Z,>)H81'T4]91AT(S'WPQV*^">* MXAT_G/3]7"NB -__0/#?0EH7FG(RUH%?[7[BQ4B\!NHE,!?H+<"3=F6#_CE(/MOX@8F M,'CWW]2K/H"Q@IN#T0RX=C_:P0F/'C!.LL?P7K9@XDEQ@9;HN5_/CS M[U_U%/?K'QA%H9-6^Q//@V$-NA^,+&(N2YM>& )OX]!D:]OY:?]+BTD\PK(\4 M'>U5%$\D("!O.#,__(/K=C-'DO,EKGP]R?<8_)7(^K;P2;"]N]M056TYQ'V$GY8[SE2]7/1! MK/CDE^4HVW(MH+FG^BAZ]=]KZ:;+$(_"-0D1T9DZGM<5VZY.0JK130+Z"5HH M(VXB8"N:D,Y><0]P0WGT-VLKONY.[V7N((VJ*%WS,E4&\;+'T6^HS60,Q]RL M'5R$E[+<3\^YK+FC8OTDP DNQ@^Y>#?*1XD]/<+ETEZ\KWFE/.BY:.TOF:$# M,GJ'6"<6Y>811# S]P5'%CYU6,S?K,@0R M&B3O[@)42 K*K!US\"L#NURP%;?H:]F?MR];)@6[JYBYYX8H<00C3F#ZN1[! MJW?Y-1-$U<^3VS D!;^BOEI"9QN0%VQ!!9 AC9&7OD,D\&49^ E =+>_<=_% M\W8#V2:H-+J.".]E/M0J4;3M2P IY6__]ONO8H[N]5H:Y-,._6BY%3N>$)RX]UY"*W(PA&KG M*/B58Y"L7OYT/MM4\-FS%2OP&O1@ MD<<';P B./G/]4]D_NML][D2YI]V_HHW* MOK!Y0;=LT_'#0^5?)*9^&MEW0RRHK>&V0R=)=K037CIR*;VB->\AWNDA4EVG M9 G>QC!C;R&)Z,F70'8#**>ZAD&NTMH[@WU!CNEZZ5ZB,;L@_M9Z@GH6B[FV#V]2P+;9,(\U@ MH=,NK]K,JR)%3A3TN7>>L&M)O3,>[SW<@YY/;2-!?/40R?_;NU3VK.$6^0C^ MY56C>3;VP SNN>^ND+BG.)^UCF]5)EV@7^L@/?]=+!=AV_O?+)*T,'9XEJ\! MKKJF]4TZ2XQ0N93?0_=RI10?%)_+O=$*4Y8Q*6_;)3 0&O!*ZO!*3.LE3RG) GEBGM>8UI9)*<$I'R0X--I498^C*HWOJ$Y5Z7@OL@*OU MNDK!F8,V"48#>H =7JFF9Y/R9C%DN;78;LM;&Y M-,JL4C$]1A5'@_CQE3,')'),IF=QI>XFYBB*J*\FHT'B^,J82$FUDIPQ(,?' M^5%B.ESA2Q:Z*D=75D= Y272D3D@;FJM+CFC>0M2$SN^M+T:)LA.S&1YIVYP MA$7V6TH.7HH?7SI()ZCL.CZ@>6&9H-.9_.!Y61VA(MSMI1=H#]=M=_89YHB6,@ M.1JHR=LEN@SBL@ID$-\#TT>O6WO,&4Y+IF*@T1$Q)=F=C^+%S32'-\[/&?@! M_ ?V]+X6?_WF5TY4/H?4L;,J=*#LKPB=QXG>">JV(L ]O4:H(-L/O*-K]Y.] M$^X=_!;_FN,B MO<+FP'K^379U$4F<0'&$T[AXP[]TJ]]O6'('\G_F0__N)Z9(/'JV09X_BB\\W7O7?+%W^.2S Q8]M4VA M7@P _W_IG8\(?J5-N'MUB4XE[D4CW@5'W+VB1'FZ4!V&S'^)M,7-F1N5EH3: M[MS:[IX(?M_*[%9T#IG]&MKM+G8AW(1KZ+TK[L*Y)DC?0E6>.,*^[+BZJS/_ MVP-DSO92U]%K'TZ6N?#HIHN!\VUY\+4:(6<:EO7V.*3.F '2,[4:8$2GE.^- M$LNQO& '-*IW(I)1C$A$$P1SY3F,C\C8U]'2MV;LKY2U7Y2OL^6"D>X-.VW> MZ4YLP\@_CQ,U5'-'_?J7Q*,81463%/4.7]^!;\ZB.J@7 !K)<(8VJNWVFVJL MW_?I89UO2MG-;P=TKP_2)-5)G_7UX)_36&CP>)Y1_'%T94_ONR#G!BT(QQ0R5ADU6N-6-+ M\<8\7\S5OC\'=&L3LX:9\2WBL?/PMM\PZXBE8D4VJAQ3K]!F+H.1,^@/QY$_ MC$>)!!/%B6-$WW]"YKY'17]IYCY[=/>'S$T5IIC>Z%83V'PTZ"GY\3*Y[J&F M$0HQ=SQ.1?$D\1YS!]TI_I898_UF<0OU,IHC'^E/0/,"AO86:B-TSQ[7)!WT MB4"Q;1N[0JS4V'%>K]$\-Q5B':4:EW0J]6TAKF\!94\(\0F9S5";?B/77W#J MU%%X+NXL+'S"#A+(($%YQ:@H12<^9Y!^$J,^I'GY9D/35?B4P6/%U7K2-['U M*H$UYVU5'%.HS1 E7 @B2C(G8_J'#*>V$]7 %N3# M@Q0) ZC0;IW-;HFV^J[P^CRX'7K51EAOWCS2$S(\RA%QJ]AF&FJILXRQ>48& M;=K4A+0'B+S@/7=.H!!^YZFSI]#!O+,NHC!O?R3@M6%75K3X M7.=*53,EIL64.:LO$882\! M((CT043V[M[RB,]6&/SO%CL3+"E,6PO3X&/B_.LT.[GUBU. MF&OR.JL)[$A;G@(?KTPKY55K84]4AAF(/)7-I6JEY2GP\5ASU,VS)L7RPJ:8 MRFH9@G&JRU/@XWR#31"+=9'DUXULLYS#YS6V.3H%/FYQMJUAW'* @5RN.L_R M\V>%;YP"'V\L'V'Q$'FF'A1!CTQRR]C MRU/@XP+[7*!7N5J7KU%F8=5EAO,"M3P%/IYT$K4*2,YK*E'M*,F\BDO*='D* M?#R?H?G90FHVU&EMG>BSBX8\G(]VP,*\4D]KB_OM.V@L MFB-G':,ZYP8N@.K\1;QOZBGBOT]D^T+N; 7WE2+^ M.T6\EPH0 /AVS6!WS=X\"'^H@C?0S[HU('C&GQ&51N.2TL+,G=VR 9+_ EOF M\3;X/;QXG!>%=CSI++'23%;M"LDWQ,0%\.)#5/ _1@7'R1#K]0^BNA ^?$H M03UA=$B*0) B%(J@4")$!3\S*;Y^=/>^J0[A'A\ _1D9GCL&-?70GX^PP,^[ M2S^-)^XAS# /'M'0-^W MI>/CXW<'0/7\4)CFF[E?/^^]?RRY X##'03D[:LKN8Z@.2 "'X.PFX05JI-' M.=00@?M[+3#7T%JW!BJ^6,F[RXLL8L6VL/I,?\MS?VZU2V*^QK>4^C#5[%I: MMCGR$+C):)S&HE3RN($SY.M@JN=;\_6E*MB_S-9J)]6.]6O3A-H2*]:J%^M, MF5S# ^"FH@R5C,;)\V)C7-WL>!55KTU9UGTZ3^<$!@A-QQ^8#I>?7F7+>K=' MI)^;-$$S7<;YEI1)/*L*W6IKC0'CM033<3I*,?$0NB(T FVRDOXRG+1N7$"! PFJ"9*/GN8)%[#DA8:>'B4MA&Q')F,TT!YDGC M$'ILH3FYF#EI>9QW"K8L*Z16#)O:S#&PFJXTN9N*Z_W&%N6@^VZE]@B#"AN7< 0 M"/DZNX5 /4\N@U4,'=B"N?::5=[VY1PZ6VM4[$I,C7$K>U;I8#TCO_1 R)-Q M)HI1G[,6/XMW PXE=)>VXUUG0JFJ3I8=+CD=)C(Z2 M=/)!PY!W3[,_W7#WUOG^';M^?U#5<.;H)L1CN4ELM-_QN]^S^8XN&>!4<]4E MRQC(CJCX9EIK/\^6'LAY/)J@XC!L^CPZ42@_9X?J"^7G.I'9]\0G/FH.YX1( M-OATA0665ACEYHF&#Y:.P9B-BN*)4T>=1S57(:I1B&KD/_@/%O^"/='LY"2. MI;D$M@9IR1FR+8QHGL0'Z8Y,L]=..127<];68%8=%U>CD_@@#=:HC)=QN<41 MDUF6MI(4UU)'I_!!)@LGW>7ZG1ZGB(7EIB S"2S'GL(':? 9=K&99ZJ< TRC MN+:?FWV#/84/@N657!$P\Z'JY T^.5Y2K0)W$A^DED[C5&6SBJOK36U0!\M: MB<#94_@@&S 3C&@59;TI5L3K.8;'"LS2>Y]?I*G%[ M-!,:H9EXK^,&*"_OXB.@!@B_9&>58&^5T5M#EKS)$,=L0.L=A^CH!0:;#G&V MDZLH.%M;AJ D(2C)H[>:A_@+]T^)$)0D,*0(A2(HE A!2>]]B$HR0/KQ#?G=T8B+F6#T5%YYUKUGO!+'H]Y[ES]AE G@923 M.\'Y"3%1?AC!0_"4*] Y1--X& T6T/?^L>0.P5-NH^0X#8BV:>B*^'IL_6#E MBF&OXOGKV>SEBHJ;5AITK/8DF]-S%A>C MYZ4-JS 46+'?+TU\8STYT[!.M9)MRAEB#HRYK=92-:HJ=@'?KS<\_)5DE"&( M*)XX5=0;2D@0-?RM)>2U-.=\ M*=Y@K%_+ *>$ 3\>?.TC:4]?4$!.3I64$7 MJP2?IGI+>] O#5J)I8?D@A-1C**C-/%>_]<=>/HU659$\&H W2HNV3$A)SCF M21"Q>Y;IT+B=T;AMK_58Z%!V4PJ0R1AQ)#DE24HHFP<3,T5&=B=OE9[IE8OJ"IQ#R52Q6E M_J >OQZS@\TPX>0[S R+Y80Z-]CT1+ZU19RAF#>:2QXAAJL8MF%&%F"LB&_ MD(6^:6C@_M# =7SV\H6=%*J4TF]+N"JTI1B;PXAL7;J>L!<812JL4JFRFJNT MS?5H53"HC ]ADR"B5/P] )!0+D)3>"Y3>" 6FP[)21:[J'*Y?&:8)HNI)+G^ M@T;++XI%:LKQE#75VYQ BLL:N\YF<)SU@'$^%(L["-3*0+# V-"DB#*=F<8" M3+V9[3_=90WMUX>"^L(ZA1W.\:56L.:,,9H7,Y@C;72=6F*E3?]ZQBS3:Z4-5XO5X\N4 M4>@;]O4\6J%7<;J)->GP7:#WU\T-(+K&R ?=8:($%@9ZEP'3";04N:48./6? MNPI>VH8M:*'7]L-BE7,CEWU1?\[;UFPX2M:+:DDC*X52OFG-ZPT$9G\>G/BB[.C1#V139M8VO].5D=;#BAHV2>!\78O#!9(C9%X0 5 MQ4@Z&D\\ZL" ,G2W?D=8472FCB8@H!@)S$RXM2[X2^C//%Q4@ 3Z[_NR/#O< MF=EA3OBS!M /4,K9J0'IM'$_?U,#G!#^J4%F.&'N)#FP6FPF/<)JU--+A*X% M;10=3=!TE&:.?BZY8QU/(N MZAPZSHE29"+*D(GWY.(.HJ(/4*K?A%6[X_ZQ:P]'#U%R@Q6K5<$I:<\.J4DO M.=OT,0*G)HU.JZWDLBQ:GFL%&28935"GL.I#.0C1H@-L(+\H!I7>+.',NTJ. M9S9J<=&O&P6[W4!B0"$QH)/Q*$X=&[T P40'"3WY&+D4+B9KF"X,J:[HP).S M*;SGV(H 'GK (DE,$$$]?F>ESD/(%"AEGZ%0(6_ M&&IVJ)8:TRH_Q;K3,<]@5!O_=G?$K@=WR)M5P30'B;DADZ5DQU"5R43(\BNL MJQG+7_\242P>C]+X<8;"W;:+;\MGD6$OM"WYRJANMX556@5"8ED=$Y.FGAFA M;6'0I,<3(U:B$1-8,R BR#AM_709I/0S">H+MO.2F(W:9;;'\*UN8:U-8A2E MC]E32.%5K;N,=XSB NYZ:9":=!F@V/2W3Y0XD8\46N< M0@KO3LBA,!:2&S4W5M3D$)-CU4+C%%)X*I-)S], 7W+3*KTI@TR>P8C1*:3P M0K-$2$0O4\%B]KA:LXG%R'I>GD(*;Q%LNI M#2A>:!925%.JMIC2: 9.-J:[XI=D98MSV?^D*CZ Z06/N=ZP;H,OSF>-?,4Z0U MAL%BS ;F-)(2=#62,DS3Q8JV @1WW8;6(V<:SLP[B$O^QXH,T6*'+XN]->AU M2QP#R=% 34:,TT:>P#'/%)+3%2]T5XZZQK*9YWR6:;')'P]W'6)9WSE":0C; M>_^4"+&L T.*4"B"0HD0R_K,I C<^<#7,'R# S<9)'C.$._ZPPT*\:Y#O.N' MPKL.]>9/@36^<\T;8F+?&F7QKIDG\)C81SP3^=:10\ EXTY D4,4[!]&\! % M.Q@GIO?-S8^BGX+QFC^%F+=%L/XQ@-4[Y^/#_:/QL!/@D2N#[ZSXUV73-N32 MU_J-$\6.L6&%$E*$^A_P25XGO MYYC=V,S6>G'9*/,U@F/ZF.B;@V66[,5<<,6($44W38B0D2$/RMV1!9$]_4BPL@$+E)09*G8 M8W2!,86;+"J"YE5Y07D$9@1*FSC>N:L(]THRA65,,I:07V<1>//SU[UZC!SW MM3;SBF'BOD36?X<76/6RHH.:[/T17;_%5&=;G6>[4.+YW"S5PPRV ("Z5S4< MH[_ _[M/V2ZA(JR4J?,J$6D!ZB7X^8M@,#OULUAEK/8W&<%6B48VGXDOM51F MQ*)ZP&-XDPCD* WMY' =J8FV =_'+=!./$4@U?U/7@B?W"6\"72PA(1'G[B4 M/"3]VY3U?*T+DQ7'CG!LOD97.2>44J(US?%I,A=+&.5%MS6](5V'.<,F\037 MPL!LR3D***P,,/J KFZI'I10*/\;2"Q(9L6V(H(H0D,(?S"!")2%6^NWSP%0 M*R .."3Z6(!?'D&9'L&;:FM71J&D(B%%%QVR@"%?JXC_!&K1UZA-*W6L1VH@ MJ4Y'M;F^7"S2@];WJ5TW#>A=2%;6-*;HB=;VD2=).^EU6O.^0-!J3&TN!OW9 MF.V(D+3QI_C;I$6] ":8"YQ1)S! M3);;E!;]!G07GHX["K:;_!1!UX@V*CP!]16$$D+L^R(W"34#&RN5NL M[,F$I_TL!RJ_0ZE80B'Z)+EFC@D&979=ZQ>'&TYM->A.DJF;XSH"UPL"O:CO M>':HBKKK[RGK;6G!W]$FW- :_ AY-"]4C!$[9-128[5AZXL%SW"%7&X0F_?I M]/+7O_03?3PYY"^7.% U>39L#033;TPZJM=P=9VK](K.MI4)Z<%[LGG,$<#C MU^@M3)2N0M6T#5'+=^HF6 CP-OHH!=^R#,4'_NC*J5P'QDP#%NHM@7<=*[K04E85M_]O>V?* M2-CUTFRF"MP*S[?;FDR7E]_5($AQ%%Q\01=]4+ 4JS4S@2#5]-VEXZ2VI83J3)4=E,0\7F&@#RF)O^>HI\I[5Q7U\$T%TZ[(#Y'L/PTKQ8UE;6 MA =64=#! %\^QQM7\I9825XWI(ID*-NIMLWZ7#="V274_;69L4WZZ7 MXSJ6IJJ=6;^%U6BK@?PD_#@+_)=G^#1#T-U=$A3=BDP]4QV9.X()R0?UEPYL M>(T%E9H5D:&VU]T\CF@L /P9FM9#QT>&=@.Y2T9$=C09<@GZXLG"2#_D?.D% M1,95!R/#1HW"^FCKQD%64"!+O;0!GEH#RC-M';33OT?I.,;ZH0<<097[' M?AKL):][W*!V]NSM_LD_0;WF;OW\6S:&QP]+[O_W_]IK)CC*;?M)Z)T7\YL8 M"#2_BNR\S/:D:/M M1 V .YNVUP/H?VV_#7#[X0<]$SYM;&/V&[IJJ.-PIP^2PI_B](6H]79N]+^% MR-A$^N3_M&OI4X4LWWVD]RNZ$61=J#"TO4H8_Z,=+D*;BYII7;\6BD?::\"T M7M+)PAE3RD?E*.\5LAQN6;I6:W.ER-]IME=AJ_]X*J!033_=4SA3:7B:1KU0Q7;7D_M6KE0H9%'V<+5;::+K#E2*L-/ZAP MU78+OJ#A=XO_LR.];VF=?8DY)0A0B?G]YQY8QKN]ZGX/^G6.$#X0D?>JF-YM M4M_?PF&0ST02CWDFDOC($=K_&'W#=X6X9&LY4U<;E8NUA[V^.;:GU=SH=JF$ MDC54 T8^KS9Z36O=''Y#U.X9/F MU2HKE:=J)LG5>G2<(;.U+K6ZUM%(64](H_6HC7%KBNNWAC91X#/NJ=?Q)/6[ M.!JYUC9_+=Y/)\7N\S/5F*CK89$LC&'(,4BSO_XEGXZQS=$9:3PJNPC^1'8S"):( M#;*K%#$\E^8U%)'@4Q[EM.2M07E?9:)EOK09M>(E!IN;YG@JZJ*P[M]048SL MYQ6I]RL.EZ-[LU%K,W6(,21W0)RH+Z;?W]QVVR@T%&$ZG'+"9@:L] 1/=?K7 M.C.IYQ8E&Y,J13X]!@K'Q[GZ/-TX[4/]O".3/Z#9];THQK$6HU$GF>3266S2 MSW4+5EER29DXEIC'/CRY&;+P 89&Y"V3 7<'[JYC*YX[<\)4W/A%]@X%]L^7 MW%3_I]NM#C+ EX<4/>/B/>S7@4@Q9@8 GQ0&#TX)$8QA) M,\(A6FQG67"(9SW7Q9@:]CSND')%99:GD'([L^FPQQ,@I=:J>J#JO&JE.L8K'J)I$M\D.3&;*GD'+)>(^MLG&LJA+:IL&I0QV8[/(44FX\ MM4S4A)Z\X7/9P:C8&-;JA63C%%)NG)ISC17/9SEF(EM9 E0P4V1/(>5F,]5" M7VDK+)9.)0>Q$B=-IAJ[@Y3[K.%H^M\K6.R,8\QQ=F9C5US?M&/"B-0^AFH=+/KJ$"\W M&)Y8ZG6YV6>ZZ?;HYH"]\:>(_X81;@N$CMP#]PTC_MM$=EXU0""^VX6#W84; M[L)%?^':Z\*# ^A[R&&Z=,QD;P#^4D6"3PI\8@$?)5*E,9LAIC3[TP%_?1/A MGO4+CFUL/_ .^MU/0DS@.T=Z#.%/[Y\2(29P8$@1"D50*!%B C\Z)O"7L*<> M!-0F:-BN=XXZ&>+]AGB_#X7W&^K$1X!CO7.M&F+YAEB^CXSE^Q.5[)T O8;( MOC^,X"&R[T^@<\CL < %#L8NA*P0 %3A<^["/8,.>\?YMK"*S+Q#9ROR=]6P M_:)9_)\0D3682N[6@*L7@Q=V*QX$+6N8;6$%+)<_VV-!+^BB,07N9W[QR0D@ MUKK1+8@$CD\PH&K/"WIHIN+.TD,=)J,$F8Q2)]!U0AX/IO:^-8]?"E3XCUA\ MJDSU?"$G.UBIE*T)J7A97=I+#VN8BM(,%65.0*K48EV '##(G1!3'F&@R>8Q %3)H M:!S^T#A\DC\[3KG=7;<*&K^N:N:<'I:-X70)^=.U!0Q#1^GD,9SL P4NX7B4 MLXQ'N>KQ2B"D]V+FY; !X&WAE2?)"1B;G08?R['/58,6EUB>'<21<6&P9)0F M/V=:0G8/]&EB(-C]4L;J\]Q.25@CTXHU:GRW665&N5*LWH*F*HY,53)!1_$$ M<]]!R[N'*&W#%K3[/3<[=_#RX\<5G=W\B+:Z]1RWW5K;;C1?)G>D](1XC)K71B0>?:[""!C!$=3=+H_^\)Z$_EYG#XU@6LRY\R<]>J-XAL MUGGFE&4AS0^5LM!W$#.C<5Q8E,#I*(6]EP;>&\?U4..WCFS3![V6^'YUV1&: MYEL%8SXD[*]_=\Z2?D=.'#:]BR(0C4P%1=?6^QV:"T%S0 P*$NJO?[V7!\&R MW;$/%W9IK):/1>%+X!\MR.-("KB5J%@H1^SWB!YZ7+L0('2>[O=2JZ*CIGG) MJ0-\4.[++LKD*57^R7W;0V0QM@2%E'21/R Y(>*""(RV.M. MGBJ6"#1-T('A6"_?A$M4@8N=X5XY U[3\Y*D-9R:7GL;D^SL^TZ@6Z\+\8."2>?*7Y\BH1 M[UTB?Y<-R_HGBH!K6O"FJWK88+]N"P&S!>05E%L(T^=J"K4TQ#TSQZ"9!#H(F,"(X]-DR$2N6O#C&/HB\ MM \CCX3^XW=7AQ2OAW8S.D2/0.R&X+'@@T0;63VHZ.'+(,A!73;1%UQ^0'=P M=%E03(]?;+>C,J()2\M!B(>2@ZY]U>[65O)?6=PSIU]E<@0-_,=,?H8-\-_T MQ(N>M%O7T"'?FS-_=_,Z$N&\#A#.Z_B$C@_G=3SLO(X7%"V^H=I.L<$NU!P7 MXP9U7M7CY.@4?EDY-Z"<--;BN9R1=V:T9$D+870*E2R>Y6J)HJ+H6*Z],B9V M7L_4!HU3J&1@A55:,9%;J+5G;-FHV4S-CC4&U#':5W$$^L-2=1+>-3?4E5P'# M_EB;C;S:J0.LL5A&--I:)L''GHLVF3 X.44V=O#++AR^O)2"O0*('<;%7W]U;>) M""9P(39=1#'KRGAB:>AH&KJ'&/O"43XY4D 'LF*_ 2?6$D:QZ09+3=36F$A3 M97T\-4O+$$XL@'!BR40($K//&B%RT@^G!/E$A:0(!"F()RH94B((E$!"082D M.",IOEZ4]+ZI#E$=;M#>_FDP*>@FHDWYGU_DK^_JPN03R=PULDG6\ _H7X8T M'C\#XXM*(;)X_=\>"\N!X+Q%M^&'4%ZC7/V ]X=06UG4BRF[-_ ML':I<_#OV5[_.EKJ=J7M)\?T^DR 0F>>>#2.'\^%NR0SW$"77Z%U M\#JJ.S <_MG#QBMQN*2K$E/-/K-X-0YVLX"I6WO+GK_<\+=LY?\_2[ET&\^ MI]_\@WM&K^I8?][?J!<[);K9RC(808B)],2T$GURZ6$]A1[U.3WJD/>OXW)_ MGO=!K&V2JRY65><:TZ: V&P:D[-1MI?$JONP@'[(=]SVM5X8$(VX]^O9H3#77JIC3X^[=W+]2BQOU 7,*112 MMM$DR873^/7OA7?EZ\)XU5UA5G8_WI@6-EBZ'1MGDJL*MQ27O_[5%>V$=!Y\ ML-?]@SMMM_CR?=^FBO3=($ULQ;OW;%"?;'+5LO8H3ZU) AD2)"1'8T MS84%\/KW!%1K+>@BB @C0=$M^[7&VVU%MRQ@;UL5(ZCW;J^4&S[7ZVL; E%P M+.!>]?*A*Y\*?$9$=*:.5^GD]IY&ME5-/J3!=B1;A,1W-O.X _4I:)@<'_ Q MKZ.-'^F0@A)D8M^H',%PN#Q;3CD%H!K8$)N:2U:8-+NFUM4YM;>VY EE>Y_XGN6E6CYE2NE^2Q6+H?>V[VN=1PUKA,=^U+F\07 M&J^V3/_K7VBB!^>[E?;WZ3]5DKWJH! "[1-(%B.N6[9AJ@>MTXLX@+65O'F M6BTQXF0YZBO=^>("D]B_V)6#0TVS77FD-19,_WCL&FH<:CF?(MF/ M6Z@/X6A@" 2\+[VN![6GZ]&=%8T%:6^YD.F%T<@$(ZC!D.1^4M][+S[@0)Z: M=J>K/N;D,8HJ]ZOKU/IKGHS/N(,Z7&@5LC*[4JR!:*N#YLLJT9\J[BL/4KG" MC%VM59.K#?2AJ5+DV"PV=NU%H9K]"G(-$I/7)TD9M_^[[JHNCP]/VHZD:FF) M1J:&8;G",)/M8N6!R+QD\$)1&H(Q5=>.4BOY'?@+K5!U%Q'2$A M8J-,5T04K+'7$"]M(55I[;[L["#GIY&Y7J(U*5'ICG!=P)3=4 M]3%>+L'=3D1QR/TT?@Q%&HW .%\<>_;)AUR S.[NK^4WR%GVUE+9^_)]/0_R M6/7\Y^T!J;Z47UU /^: /Q,Y5I>:P%;,3PO?N%1,:ZE41>77J56ISU."TS-@ M"(:3=)3 Z"A-GY"^ QI#/0A=XR& LBJV\FE:5 MCB2*":I>(RWV5"^V4YSDTAVI6>#FX]ASP<)73G;3&)#']^0JHPJ=I B68Y9M MH2['G&>GR<(KC^XYU#OV//4\2ZOKZICI*_."7I@N3W5MJ^*Z0V9)-<'E)GQO MEJW' :XL=SJL7Z[L6U6CH:[B%4RHC.;$,U>M9HI^9G;_2J&RKK?513[&K8V< M5"7:>K>NCKP\UL&5*3MO&3U:4=.95#*[B(DU(8' EX^>7G422D4?4C5,*'3* M3)KJX*34&"2.K]RLI\7IHM(98--9OI:9"!.[76M ,3^ZLM,IJ1MFKD^Q:6J] M$<$Z8;3J2WCET1NUU%6WW.'QN-HMUVLFJ-?U3I6%5V[?Z,*^[FO[N==-O(4Y M:GKQ6!JJ>,O5(RFD9^H>]I%U[!0K1%UW5K:6Y7(]4;7TYJ)KL[Z9=%$.6/N= MZP;H,OSV+C3^Y'G.,?=M([L;(/UG3%'Q4 M(F^C?,_W33_9NPI]3& XX5\M3.KMY9A;3;%YNV=T4Z52K=@>':=2),=\(Y7B M+FR(%K;+23NK2ZU?+]FN';T>MYHIWF9XEGS'6M M9/+;P+BO"WR?:5*'3./^I^/1&;(-:EL01@#^U(-L<3KGS*J)BIYM2#Q?LZ=E MCBX*]JHX0AT,1][?7XA=@ # M_C_R1%%>B"#^J=S;#<:9HDWZV4-@(K-FMQ M8GGO%#WTV=](K/X147UZUI XPU759%;7E04P+<%4@%63'P*Q\Y4(##DT#08;+_=#N5*HI20% M_JBM/8US\M;N"3 "$ 0K*!2*!5Y>Z8/;?]]46:8]:"+*NAR&?JLHNC)UI@>, M>#5>7G%\?=!=BB-.2!BK=D/%>HW%\J0I<_-DNZSK62 6(<&U7VE9D[D7DJ$Y M=[M_::(=;QN@ MWB /:;)WU.BB!7K9H'VA=Q7"JXX(F-?J)74=! &%%CI4=&.J0)?5TPT(6E-$ MRF]J2$!SM1^ZRL-[3R1D]YYDH5(F:W\\]$G0D1 MI8*'*$4_$>_.S@EQ0D)$J1]'B?A3/ 3/"08I0J$("B7(IWA(BELB2GUDJL\" M=?'Y_I&(VSOR$X BOK8OET9$^<@X71AT_J,3UC3\TM!4X(WS0%L ]&KH(8)N MQ4YN;,@C%T'->5]7WQP5IXJJL"H[55A_!I%S<=7X)9RP1]6#=[$)GGJ\8\ H M=$!S!*RWK2_WBY?P^YTN&T"6\;3E';/,46U;P+5IZ&C^^;[LKG)F C>>0IL% M_Q>8_;I[77Q&),>0>7Z:5OYSY,?K*^+(+>!= N6$7%4U!BZ*?[2P/(BDOWAP M?DW2GPT>YP8A/ L7)(Q Q%0L-2:; +A=^=Y$**_Q],&@<:X ^A$,O78-1 6< M&)#^;TJ-'>?U&LUS4R'64:IQ2:=2>]6!U%?Z>;Y;'I@5%--M^MJISVA"WLY" MUB[X'-WIFM$*J^QW>[2FSB)?2!$@8L-CD4$(0N) MJ!AV8: C6B0>]^D#G@_@\$>:NS-4QZ8(L,H)2DOF&7TX2AI:/I[)-0(A[%LN M[[PP.1)WOV;[=.?$.JZ**9"L=/E6@B?G5')59(;LKW\IXNE$Z^Q?L9!@5R"8 M5]!]FF#9>+H^EQ9"BV,N>Y@1FDT($(Y\(XG.N3O"UW&V0>G^>XW(&ZL]=4@Q*S[+$J"."0JVT3=MVDHG1ZYTX8GK MJ\.07A]HPYG=?68EML6H,;UJV2U>-X>QADLO\@2]'B/YDU$6"E2#4F2M $UZ ML& V3/3<*M'SF<;>B\K]EJ_?BE$[NBFLZA)!\EU]!O ,4U/XU&@01XF>$[[J M@PE&F.4)?)8G\!)4MO0L3SCIF)K.CV,+0!5SDVP#2A#U@03=08H'(=3NHG3< M9^3SF/F=3_2 7C/ROP+RR7M2BAJ:\5WT66[1K:;[<4,M\4O%;"VS-I=LA)OW MT>8A>"RE.U04/SU%B MYT )Q9 I]^93(ON,"76G:&3MX5HF$1(<]9Y0/$)DG#W"*7"!<+4U CC8QUK= M(A;XZ @N<,&CS>$,8VD4"'A.L0N"ZR.AUIH-)B'TF;G:[50:?7N3Z?#*9Z;_ M7/M@XN)86SX\QHMNJ(C0MT/9LHO?-RM3.9'-S.MT>C3$6GAVCB;.%Q3O;IJ' KB6PDZW30X$1 M."87XZ5"A:MJZ[R:DU M.TX$] &E#VG)O@!R5M60BKX\Z!:D'<*BN NUF-2!-!U"(\4 BR+=,!%A/C? M%QQF"R_/5W5)&0%O[/QAZ8@A2[;H@ISM<14A4IJS-A"!YQ84;0]VYJ&;.?!H M#@R<+)LQA)W-$!W+EQ%!1 MO\Q[^66[=8A #J8M_SI3AW>"P-^^YKKLV*14J>3+J,KV%3E7LU9X#L(UQJD( M36,^-!)@METFB9L3;]R6:O1A4[X06;[.U^TAWZ%>3&O5+@WC?3#E=#Q"$3X\ M#1"C\-E)3AXUUR-.JL^G"XG@;'7&=\R$(%%+IZXO$O>IYD56@OE*WB4YY!O0 MB[E^]@+Q$')$P?=9YKXSPC['&[H^$H[@EM)'#\2_6R;BV(#MF.L$-N-?.)I1 M,\-^*][A[?K3R;]=R@Q58MTUI_2XF8YFY649RZ]^_8.16"3!^"F X@('"ZH. MEBN0VP[B77D44CMY[ "473ZW7:1SH]-W(T-636X#OP%F',13. MMS_1B@LU=0"A)\C M)MQL*490_T8.7L,9.9M.B.QY,&E'R)W>UX[!.W=OOH-TYLG&TN>_@6@AE.@! MP"F)Q1CJ1M)Z.VG\7P&9&-#R_]6JIBZA/WWV)]T_X8T^QJ ()Q>,QT&=A58 MSZME9\_9R[.%*^;:9YL:EY;[IU.6JE9;7!'Y*\7VRFSE;]=AYRNI*P(>?WY\ MQ.OX*F!X37=4K2K2RG$(7V'Y=+[%I9%4M9+F*DWW5;-:RJ=9^'8F7V$KJ3Q; M0IHM\$:9J[2:X %U#_G][P/K?*# MN"CA UQ@1HG$$,>ED7!*GS,DC;352?5D#E]@;(LR.RM2K_L1+%4D?I6+=KL2 MUZ2V+$;(C#'6? F62)M?\'+3SG(+HV4Q)3S!SHBZ'\%2E,3K K^!$M*-#7B7\1>BBLVNDJF0K(E$5_Y$2SU1^EBK1CG M.EMV0)Y?^5+'!J4\65[PJ4%E,J(Y?KA\8?T(EE;=U59_LBG?JB4,NFZ].4M>2%=9RWR@:X ME#BYU$DJQ@FENIQW)R::E*2Y@8ETB5CEW)\$J._#4/^1ASNT]CO!.>WF)G.B%A.GZ(H&W^. N# M-[O=$<5$G!/SW?$NWWPED77*I!'1-B";D[,_\TK!#8^!8\AKQ3F\T0[Z7GJ] MI: !M9XY:;'I+3G BF"I[*D!) ',"OA,%Z?>_I$A6[;A? 8W;@3#B?O.2PWR M<^^(SKU4>BB#-^23@3EKJI5B31!3 ;,N&(@C88^V4M[U-,I[EB5G!\I=1.TH M7DU$DV$B#Q8HX ;P:0QD+BB20\_L$(M*7M&@PB_7;L+Q]VTY8Q+15%5+?>*NS TI? M=PM4\)[6$:RBN6M9=^-Q+!@.&?%NU_*(H/@2%RDT&\'TV"3,WS^=>H",$70( M*'V,O_(8;&\BAH70WH&0!$;$J)"/(Q"B"(TB*)+ J%@<"T5Q15%\MA/EO5#] M$W':WK/_A^-+WAY$_G(H>C1.W8. 2?]XO7C/&S]\ CK.7]_E% A]7FCR=W.% MW^;3L%^W$_31E2P]U(8G=8"""VSJL4AX%7FA-PR<_G]/SL\!XDX13PWB[FWB M/HM'_?D:Y3K?)]8HYV#K)SGCG[H.>]+L)%RVA^KRDY)96+[\@[SE3]+V8#WS MG3Q?L![ZCQ3TS7W6[1[Z:L @#_!JU8-"%EU#"H)F"\;&W67 W!*66_9T/T#5 M[X#]KF927\,5>(Q1W06< M\]RH=B=Z'F,7YVUIU^!6BH^I98GHL%^N$!2?8@5T,>F9Y52_#DS-X6%!J?>0 M!(*]N,BZ7?#/F3Q>#YKS#PB<0< .N6<8=33;S&LUIYP_:^BFZ6/=^*+.T623 MZ:#5: 5-LVUVU>MZ"-88244H!H]0Z,?PE_XD@_DCPF(03.:JW _FIVSFDX&R M0#=':Q[T=G'R#X9HC5Y(LD+3"MR*M7'\6@+B_/ME8M##4+T MNZAXP5[+-&U92CN(?VZ4=U%O#_$1]KKN$^3'8ZHKC 0:XXH6-43CDWXV MWG00;.">%A7!<32"^FQIA7EVF&>'>?:!<7TURYZ],+UZ?;%>HS1I;5>K+KKJ M]1T#=--L\KG3[)/*C5/@4?^ZC6=V%T_7I_#XPR;W0/FJ3D(W].)DH@DRK_)D MCI&WHWPQ'^@BC4$#T^:V2N1X=6/$NU@MBVH9!Q\.AZC69 3,7B3!7'('?Z8! M/;PM(PAA]R$F]!PE&2MB9*#CD17EU6:)$WDBE]&KCF&Y ?:G'C3M8 &]+DP7 MM_:C$3C,Y#\;LPG@H9CT?H.!;!?,@10IN[1IA_9IL+X_Q[5O?).)^I]N?)CIAYF3:[ MVTR+&?1;PW@=VN*/J+T\:@-YHUVZ+9N6"Q&[!Y>U=(?UP8/_](W^3]P0=-ME M^#.[ES"D^S@7USY83=H3+^OPK8\LS^=\1V.GRWQTJN!,*=^>S++HBH5 Z^'R M/(S;8=Q^W[0^&3%B%I5U/\^)R_"ASO5B[O>=+W;.J^C/"_A&7S?:&\*@SK:G$NJU:52O5QC]8;P3EC^ N2^,AX-QV=9"W]F M]4B^DKEK_8BC2=6:OB::G3'/=_1-L=A+K.;8C+U8/'(821ROOD,*].A2($G* MGO9"T2PP.%,1W3!T:];<)ZG]NKP!I)\#R!_/98XDAGHF^FQ\TS^"+[E'V6>G69:X@HG%NP>"4W#,&ZBS-;\I8C[U"O[TG:]Q2W1QSNDF** MM@GU71CJ2SER0* %69;'FDLEYM#)N21C1S\!=U\U,S0%QQ38V4P7(1V;OTUP M[ESY>ZZDUDJS)6W#=:1\T5H1\7(: \I,$HD(C9Z3O#^&FGG4RH,9QR-X OR?.M]U.64 9R_QC#F&!.()I"N_OIP"OW_- MJ?.9OI'EIFPL%5'V%T]%UY;N9AHGR^="=Y1$_A^ MU!T\XG(I[BG%5Q-%G#CLC F4K_SKIX UM]$#Z M45,6?TNVL9$%XVZR=_,#$#R]M^!UV*'H61LU,L-%=FK7&"/)MI=;?@'2/R*& MQT\W1UUKA<,WK\T6[=SG32[33]"D-L $@;%"%7+Y3Z&S,(.3QN2U#V4Q<#O4 M_7SO&+T,8[>W"@Q$E U+ '8H>\IC!F7C8O?NJS <%^2(HM'D/9/AS7QA4LXS M%;Y(I[9E;5FEMO+X&SL67\VJN86M6)N\!@9K.T7]51B'6A-!\]U2\W6AR:J= M;A,-NL/;5=)TRO<+7R$2 Y+:. M7."W;>!U(1?L+9S>]T3GX^T@DYDI:[["&KXOK.&9L/9\N#MI[&70,/%R2I[C M2TY-3PLVUVQNT/SXUS^6K"&.USIU:$Y&Z!1 ?-!PYK8A#TKLIMHO#+?(5&HUAY,EC04D, LL'/-X7^#0M194&$.PD:R!L-TR&\A?'_@V)2@!,= MU-K;8:G=, B^4RYN!59L5!E\%2 QG7HWQV* L$XLYEN2\H14U=S2A>J(W4^I M(IO5T?X\P->IS7-;OICM;NLH3DR7"]I,S4T%.+61;AMG8CO(#E[7S:]GA:X[ M6[KC\>B+3<^_@<0/2$5RDA.7DGM/'>\%-_A L6-6]MTR>D_C_7H8Z1 6J[IA MO6:.<#"&#!R]"90#,=TTZR!Y%.!L(;:YVR HA5@ H+,X)[D;MB"!20^M)W? M5V5KHDMN(@3GPANRX)TV.Z2&!V2-X@S,#"R(F'C9P;[< 28&MV!K?!/<'"=? M2QIVNRO17:7W*R7C?__7$=GD6:FF5YMQ\& >R27NE&F,Y:C+92F,P&__%F8K M86-Z#\HD8OMZJM_[\@["S95B!/5OY. UG)&SZ803=L01[7WMF"9Z]^8[ MG)J>;"Q]_AO'8I"T6@5_>@]&8C&&NI&TWDX9_U= )@;T5O]J55-^B,]?_V6V\K?KFO*5U+67+9\:'_$ZO@H87M,=5:N*M'(N; M>"FJH1M&K:#T>/VRI5<#IX_F^,IX(U$PI%QSR#*$I;1J&*&&K 7%^SZZ0 MZDR%$45SFZ36%'.Y*$\I]0%Q?D^U/>'FU=+V!:53,R;;B]N6B MHS+"E,V,^*S%,CB]YADSNQK0YU=:U2*I4\7M$HUVE5PMA8XDFZH/F/,KV=EH M0*'3P@;-8N5R=!;M3Q.-^B!^?J6)*>7U!!]NIK+9+1)-VTRQZ3I(8\ZN%%L- ML5):=RV^F&=JC&BLLMW,&'83[RX]B6/N%X<#!:]I]MJ:9;AL3YR:6F/9L5AV M "_%K^$!$Y<=X"4:#@R+NW8UC$M%75 M65\X&:F;C\*,=JE8&YB=?Z46#::?( D&,Z6OS-^.[)QRPWTNY=:[@CQJ)LQ- M^??NQ6& AJF'EW9 SRVZL7:7.SIYCF!;^NX--\EQWCG*A0Y*9KUKSM--R]@- M[("E_-='VQT8/(8G0A;T_6T?24@?HZE0$H&0!!!%/!1%($01HYE0$H&0!!X: MQ75%\"':<%[ MGO;A[)F[O@3WL;UBCF_Q:8;.[>'/_"C;OKG/^ZZVNZ=OKJ[KHVL9^:U=VE/( M/O">SCD"=44/ST%#'Q9T/T&M@8"_G$D>S99#W.'#\2\^Z[)&/M]9]=N MW'JU9W&;/TV=\&=7)U@8XBJ24QT2< ]\IC[(EP $ NYS@QAG[KYT]H&N?_PL M!"JK_"E)Y!TE?RU4TD?DFKN#9^0U W#[Z$Q$/X *%ZP=R3MR!W[W!_C".R F M/MS9!8;?_8/UO/U-W=K.A2HO)]+]ZB;>CJ[H>A"[%?9M0F]3OA=?6'Z[5BW> M'J70431E-:7!>$#!:BD*C3 X%4E@]V5\?T#8N8.1/3RN!(CQ_5IF=AO1#-_JI%.HH*VK;;E"&-*X#NS/ 2_#+P$"!VZY

^$!%WC# MALV!GV\.!-:^;2Y2$XHQ$JA $"F\L>JOR'Q]0#LHX&^V!S[G4NYZYO-'A,[ MMPG>VWR^$DUG>J/6:,PDFE/E<:>GSE5QIL/J>_(-P+J?L59V,57#A>_3Q>7_ M!(B@\J<%8];N;I]C"J,!G66O2?.$S0[8-&W!@,,8B! '_?[[TO2FA M9:#B=+CV#0/X-TSN*P$\R^:**V/5L-"4L*R7RI52JYY> 9MTE\.?I. *6IS. MZ,9(5L(%\>/+$L+ _#@OL;>""[$Y/)%H$E1EU" X/#UMU85L#D?[T/S<=33S M0]?1'S]SOB\Y9J!B_957WS^'\.=V3%H?\TV9-"5,]399YA2^@Y),:5:(%KX# M^__ 8^DA6:0+YH39\$)ZF5)2PWDF'QV#B8(D6HD(EB C:/R^;)F!R@NNO#3_ M.49X2]:M:YEA,%*$;QU;]XEV:CEJ65NT6);T,:K+I?H* LVX"<(Y2/!3K=.Y M,U+,CT;\X ?V#_0B7K?_](E\R\6Y":/_IX@IOD&AF>0F9+UI2M:T2=2I@E@B MMIU6'6)3O1?]GZ,KY*%&^70!_SM&&68#-R;?S%;I>;U73$W0Q6:C)L0J4=SJ M+#35MQ.!LY:;D(#SHP2<[Q+)'% L./!EP2&6^9BY<)U,ID+T5QD^*JQ28VHK M;"?*(_A-EJGN]'W M$&/*9,H3E&O.K&C57+1?$NH8EL21#!8A?$*]RS9VP DRW!P0(WP%J^^ ("JX M+):!Y\RY5E ,!EG._D[NETY7T+ZZC$VC!*OV.'I*ZUF-X>.5JJ)#*BJ@RPPD M1_+ES[G,G&-&$$VV'&QRE_)A]+J]'SGT^?:;&]@!)=:Y.L=$H!AU)O8J0T;3 M8IJG^3G?Z*9422-A$(D1Z'T8=3[M<=[N/L3<3_,:4K U^=7C>#Y7%,P)8LJ6 M-8,:[-'1["B>'"3;'5$D=+,NMJIU"-0OJ+J]H[.![LM+P"X.YB8^CKZ*SI:4 M9)J(RFF3B\I#>9";,-UEK?XS?!S3(]I$+Z/G>7Q5IE4FL9QNYY H%"#IN#LP;= ?\Z"GVHVX(H>KH) M,PO%@I"^ G",^H)&X#5_^.];_Q,T@2?/>-U=:^] "^]=%EUAZ;O(4J MY586:]G38D))YZ1V61VUQC"JG**8 V-6A'6IL>2J9"N?3=4-?&:._?#C%7[9 MXM-Q-#E-;0AQD^F-N/Z$]<./KR8:M5R5-YMH=#2HM[;YC)%I,=USA5D2O, M*K/11\LQ;"@\0*6_)? Y)QA@T3 V061W/.,YI'G"V,1+G56SSR]0DE)*XT8Q MFO#BB /0SEH7KG-P\K'; *!?L.O3=02&Q\!]+:2DFR8"GM7%F@_00@<.;@8' M!U)/+WV RQJ8&=N6N]R3X-X>]-W:[MH=)8^#KPY\//"WB@:1 9P;3,"4R(:Y M6RGNDEQDE^1JSG:TPVA]]+WCVH]O+BU_WQ>]_U2=0:!71%:3T@H$NGT+M;_# MK/ FD^J5IC+VDL='6:V5U<;75UHW8+QRZJ"QR_MUK]_\3%CYN7#[=#R&A7C6 MI]GD)U3C>GC6> RE0TD$01(8$0MM(A"2P&-$:!.!D 2P"3KD9;FF*#Y9Q/1N MI/XC 'K?"Y+!QI,#J2)\\_]^$;^^^OR)&$,_-7QF1O<6-F )Y+XX70>YK]]: M#/F5LH2F%$13.H<>A3BT#T ?==*Y)S89N/R_4NW6>PE5"%?LF_8\M?+ ,N/0 M6P;=6[[5NN''ZG(EEQA@K75.;Y_#X]U;<)>78<&3W%.ZFS_"P3PL%PL0-/:] MA'MW)_08X=[8.=U4NM=J.W^(!WN'+THV! L,_ZV8>JU>T"=U8E=KA?TAWNUZ MZO"4;N^*ZO##_&'0W-ZNQL-Y!HS\SQ 6)SB5$I);GO"=\#1*MC#VJU6S0,/RFJBK,JQS^H68X"'_[U?4IXTMM99* MXD)7YORB.F^VH@8O97LK%Y>90"/ Q")8_(-0D,%WLT^TH V BGZT!NO&*CH= M#"11FL9UGFZNDZ*@HM-4LNY"&^/Q"!7'(XDX=DE%GSE%KGRJQN^'9/Q%JNF= M%",STLH%+OYLM'KBU<)=S.+\ .F/LXL[!L#OV46AA*T[8C:9Y16B7%XO!4Y+ M95D7//C+(3)HD?#B9E'3+5C_*RUKN@KBHJ4;?[^Y;_3,@>_9EE(GF"97/E@* ME/-]NC7$AV3SS,ESYTNM+F$2_<.=3)CZ_4BW%#3OXZ1M8?X1*-=P>P+ VRZF M3U#*7"3!ZLA-?_.F:=VE[S>T&!UN%])(X0>[A[ M1 2-TQ$:;@4QY\O=GY'3IM\^(@R3U"#7TP?.QA\2J3SU=4W] '[3Q]35A#VM M-SH9G%MD.NC8;E3PD!'["/#K-B5HG2ND1AS-X M"2L/[7Z2<,SC>Y$P: %O?P(J>Y@>K] H80'-#S[5O H%UN=CW.? XM_!F;ET M:+-NQMDXW2O6>;N@#6V&&TYYS8%\PB&"-'KQO.9/7H>%>OV5X'0WO<;8VK+ MILCD%!_T*RS;RQM+G(5Z3;ZOUT\!BWXZ+A<>X0#V09R!6 75>;+#2MHI*_S5 M6^ ^O-G[A).O:9.7.F6B.'8*[O#?_W4$6W&657J6=?!@'EP&[AC96(ZZJ!@. M&.5O8;82-N:.QR81(W9&^WMOG' F$ R-$=2_D8/7<$;.IA."41U,VA'8E/>U M8[RIW9OOH'-XLK'T^6\V6V\K<;;?*5U!7!A#\_/N)U?!4PO*8[JE85 M:>4XA*^P?#K?XM)(JEI)73+'P[DZ^PE52>+2'-%GBCS%5:3?" MN@>T^/>!];[E=8XMQL\07F$JE_,%;FVF,ZXH5,;K1&?;?!G5_5!'!4/L8MGA M)LWABUR^TF*W,Y&L^Z&.V@,MEZQUUQ,>%]A%)['-M_.KL1_JJ,:,B9YBK5K< M N^UB/%8[U;G[( \Q\@L5^O\>LEV&6XALDVF+K=&38/UPQ(=-+?XM,]6.FBS MWVRL]'BEA2?J!UBB)_BRER$N/>C*H(!5GBE",( K61<9V+1GQW#"[AHM\1_S M%:[RVRP%WBKO]8ZO8)F2#IX:8AXKFCBS)=GYH9$^F^DKB&*IO-+"03QB\*%B MN)>:4 ]6NCV3(#:\ &;8^15@+'>&KF0/?KHIB[8!3%HED[P#U$M?S!868AJ^?22"%$M M@R*)$-4R*)((42U#5,O=A5\!='R: Y$0Q#($L0R4%CV-Y=PV)S>"9@"D? M =/VU*+].;"1B9_LGQ[NDQ]>F!Z$27@TTM&#!/]XZ(YKF?PS%S(W#[DQ?U@Y M<\#PO/[P%IP]F^GW3E:2&_\;''&C[OE*8?^^2R7J\:*N113%;;S=FS8KB='+ M1NWWDXGZUTMTOODTK$/5Z5._(^L%.HD)17JZ2%#6=AK5.6U4'Y#PD!>CT0A& M)"($E?CI-= *0$:CR1H(NP;#MI^6N!,\9%A_;(I)AJUBM@7S VJBMJ:GF3D>GH: M0%/L,I5"-+-:E+GJ4*UDM=I<6!AC8(HPM"=#%$?QI6,G62!G9WUNS Y M.I')FO,J%^U4;"ZE\':/6_EU\"CC3$-J13O85!VOZFVFUD[.6'9 G-]SVM,^+W>L=&)9D=+1 D2T/>C@N64[!@3A M52RG3R2MF.),-VV_UHI%LX"F\:&]G3;E&I5LKH:%I#6^?FO%9QN'B!AR\ 1. MYXS;-#26-1%XS+OU#1T;T5FWXZ%%.5\#?E]WQ?<;!&C9F"F:_)^33TYZ4G_] M4Y(%4SY\X*LZ@@\\)1:_^)BM72\4,H,C-1$19!J"HB'Z:*2(,C(W9%4QG?U+ M":*3SB'O%>Q6 5(' M 4RK(4!EC$(9(1"" WP >3M.8BF 8@T*\H^38 M%2],;?$EOQA:B_2TS0*/$"&(>(3$F;,4)N),UH%E6X'K3 M;-Q:]K@JE3(W=3A!:(*.,/3YPB@"NQKGL@ASSMDF=M]FP(QM@^69TX_BQ3:=9^SQ(:;71I-%9;PPN.RZ1:%Q=+*T2>YL@]3U'Z3ZMYR[> M=5,F="^GIK^S>,'TNC[-WU=M&[QS3V"-NW"-H91_NO#H)AP\QI"A M8 (H& R-,7]H=]1])//)T@#/A3VXJOSB)%TZ5>C)@@'33!AYTK+HQ1KL:@T$ ME[W(S2OJ/SD;;W;D48$P#5A_LNAJP*"CQ%@*L-M[_HE@=E]]#SSTCS!N=F=U=B M_V.Q(UN^[MX':PZJHX-5?Z:A8/.N&EU74V.\RC+8+=YD## MT5H)0@IG%+@- M,8GX.O4C]351/K8GI:K!JFGMUF&EP+G@?@O_XA$V2$H2Y5 M=3U?, /BP)XF'GW-3D-S#)XYIFTY91N&[%]H2-N2F>$_+[A M(D(ET A!G>_;_LB "\2#A_$UC*_/8-!YK;7285@U?6P:C)U?IAIU!2UV^8RJ MK+C&=LJZ!=,,B45([(JH_,$P7"*,J\':R@C-U#/3B2'+;QGJ8-CG$U&NT>3I ML<&+"UOK%7'6+9>DT0A)47]&Y'V_LOKVA=7!M?TKQ^;@UXS^=*_@XPD2'1I/ M=9-D#EV4A*EN3$5CS,&2,U@X'8G'Z4B"H3]: ?J P_33+O7[UFC54 M$HB>$.!Y(BQE1+&E)Q1N[^G:"+<)I#@H('/ MU&37XSJ_[0"=BX="&R Q[)D#U'=L54!3AS0#2@C"01.,).*.H=U@+KV*MO_<1[229*=>1\! MJ8&GA76+WI B'LR\8[I>69 C<# T43 G"#RV-V,/\V3H1;?LFX]\R4O?N@A- M'D.=:M*2RC)A]@VNLZC)&71#S]+U^B]/76U98JT+UWD$"P^O MFB9CB/?02%YS,PXPB0'B6'AU4Q,8N#1@J*F+,*L#9;/F+)VJF@[[D-7TZ#_]*1PMEYS*C@W0ZW%1"OI KH8 M%2E\PXWQ-:S@U#7Y+#L#GF)W3\2; I ):*)\$$OV/A%X/:CGM@)<4G-.Z5QD.<*/+HH!P3RMTASU"%J6Q$X#,XZCF$4Z3 WP%Y MEQN?X*2GG*]S:UETNKB0JE,#;T"GOE3DE7O14038>7LGW((?.?Q1,&E#W0:! M; ;\D3L><#F(\*+LSC2(X"#"P_?!@!V=A-(_)"@YG/F#1,!7+4 \!W<"TS65 MO;1RIP*[XO2Y;8 XY?S"B3J\$9&>CSP,#\G#Y) \3 O)PT+R,'% #5$B3L<[ M/4Z9%H?;C=T?6#SKUWJXSJKNA. MIS>P)XG.V"UT.+X2:Q,:A';WT MPM5:F98\\&U\%+/\C.<89CVMQLF!.$EC<&$R3"# M8@QVTOCH1UUV,;,.3"X=4.ZRPQ&Z^80??1G<,W$/\9VL B9\)NS=,Z$12Z_M M;?"[8UD?&\)\ O>&$3T@LT+V+2_*2DW:'$-V<.^SQY&_)EM#X'K0(G1?VAK M4. D0<90*A1%($01&D50)$'&*"P4Q>,ZXMX-U5?N>'NOO,/%S M F\][/N+. M\W+K9CV]"6*/3L\]GC#,ER%?C/H-G(XRKDA M.^D!G"SP3V#FZ^D][Q4Y[$+E^=-<]%58\N[LB)%'M%O?VC(^18_V6%\98'4^ MPU@(!7[3[8'@"3QP[BN(O(>A;M_#F3W%+(2J< \W=\=9N":GQ[T]8ZV1NFG+ MU?V5_0Y]9/?Q8]>G%OA48UQFL:<X:98Z$@ M-"?XV&WUQB,T1442%T%40I4/DK]^M,J_5O5\6./1C-6ET)>6BF8;C0S=[_2X MHE"_H<;GMZNTM.U3:Y2>VAT,+R2[>9EU*:C("$[%(R3V;J=DL--UOLD^9Z)U M/?R"A^^1!L(>/QV"^.: 0BEA0B?4'-?DQ?1FQ=CIE'G+$+39L.8B371&G+RR MQFRUR,[I[M@%,2 B%(E&&/(2)=R?JN /WL<-A()_-N _>X,^-R:0?1X8(Y &?F55U#!1^*X7WRK5S=1@Q'U)1?MU3KE:J^0*WV=DN,#9EVK(H8(_HHF'/(*ZYGS,>MSP]G#;6$VG5&IJJR.B M-Z[-"9GX\@Z;\Y.-_335W.G9H6 X1+4F:UL3W0 2DEIZ4GZ]6/*%Q,A%Y?Y, M*655/JK-%^,HQ6+5S/C7/U2$C-,1@CI?^^]D\Q=0;V4);N@*, AR$*WI@'6< MD:"E9:=#0# ,([U/(%Z% $3N0*5!T"0(N:%('I@2',KU*0&/ M5QR'RG <(UJ;N7QDDB>?>UK0R>CY CMII#C:K Z).2GF+?9HO1*EOJT&KX)W MR:.QO<#I0U;!W+B 9TBS-RTN$XS1GPTJVQXP0#1V#A^* "<]@[.YA]N:@S0< MA%X75N1*R -7"C#WSC6?C=XY*.-X/A09XJHH,H?]V!Z RU%']O%[$+2%<->Y MI^ S2UV1_+%G]N R_V^H2QOPGXFESO[Y_U!+ 0(4 Q0 ( %N!CU%,ZB8U MS14 $X% 0 0 " 0 !C=&LM,C R,#$R,S$N>'-D4$L! M A0#% @ 6X&/4247;^7=$0 "P\! !0 ( !^Q4 &-T M:RTR,#(P,3(S,5]C86PN>&UL4$L! A0#% @ 6X&/4;&U9^GM00 SY0$ M !0 ( !"B@ &-T:RTR,#(P,3(S,5]D968N>&UL4$L! A0# M% @ 6X&/4>ASFU4AFP W3@* !0 ( !*6H &-T:RTR M,#(P,3(S,5]L86(N>&UL4$L! A0#% @ 6X&/4?QK@[K/8P @6\' !0 M ( !? 4! &-T:RTR,#(P,3(S,5]P&UL4$L! A0#% M @ 6X&/41FB8HP.)@ 2JT! !, ( !?6D! &-T:RTR,#(P M,3(S,7@V:RYH=&U02P$"% ,4 " !;@8]1FI%6FJ1Y 0!IH0\ %@ M @ &\CP$ 8W1K+3(P,C Q,C,Q>&5X.3DQ+FAT;5!+!08 !P ' + ,L! "4"0, ! end